mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Add improvements to token generation for devices
This commit is contained in:
parent
253157ba1a
commit
d40dccc240
@ -312,6 +312,7 @@ public class KeyMgtServiceImpl implements KeyMgtService {
|
||||
* @throws KeyMgtException if any error occurs while creating response object
|
||||
*/
|
||||
private OAuthApplication createOauthApplication (String clientName, String owner, String[] tags, int validityPeriod) throws KeyMgtException {
|
||||
//todo modify this to pass the password as well
|
||||
String oauthAppCreationPayloadStr = createOauthAppCreationPayload(clientName, owner, tags, validityPeriod);
|
||||
RequestBody oauthAppCreationPayload = RequestBody.Companion.create(oauthAppCreationPayloadStr, JSON);
|
||||
kmConfig = getKeyManagerConfig();
|
||||
|
||||
@ -798,6 +798,28 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
|
||||
KeyMgtService keyMgtService = new KeyMgtServiceImpl();
|
||||
try {
|
||||
//todo - lasantha - can't get password from here
|
||||
|
||||
try {
|
||||
// DCRResponse dcrResponse = keyMgtService.dynamicClientRegistration(applicationName, username,
|
||||
// "client_credentials", null, new String[] {"device_management"}, false, validityTime);
|
||||
// deviceConfig.setClientId(dcrResponse.getClientId());
|
||||
// deviceConfig.setClientSecret(dcrResponse.getClientSecret());
|
||||
|
||||
PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext();
|
||||
JWTClientManagerService jwtClientManagerService = (JWTClientManagerService) ctx.
|
||||
getOSGiService(JWTClientManagerService.class, null);
|
||||
JWTClient jwtClient = jwtClientManagerService.getJWTClient();
|
||||
// AccessTokenInfo accessTokenInfo = jwtClient.getAccessToken(apiApplicationKey.getConsumerKey(),
|
||||
// apiApplicationKey.getConsumerSecret(),
|
||||
// username, Constants.ApplicationInstall.SUBSCRIPTION_SCOPE);
|
||||
} catch (JWTClientException e) {
|
||||
String msg = "Error while generating an OAuth token for user " + username;
|
||||
log.error(msg, e);
|
||||
return Response.serverError().entity(
|
||||
new ErrorResponse.ErrorResponseBuilder().setMessage(msg).build()).build();
|
||||
}
|
||||
|
||||
//todo call REST APIs
|
||||
DCRResponse dcrResponse = keyMgtService.dynamicClientRegistration(applicationName, username,
|
||||
"client_credentials", null, new String[] {"device_management"}, false, validityTime);
|
||||
deviceConfig.setClientId(dcrResponse.getClientId());
|
||||
|
||||
@ -18,6 +18,7 @@
|
||||
|
||||
package io.entgra.device.mgt.core.device.mgt.api.jaxrs.util;
|
||||
|
||||
import io.entgra.device.mgt.core.apimgt.extension.rest.api.ConsumerRESTAPIServices;
|
||||
import io.entgra.device.mgt.core.application.mgt.common.services.ApplicationManager;
|
||||
import io.entgra.device.mgt.core.application.mgt.common.services.SubscriptionManager;
|
||||
import io.entgra.device.mgt.core.device.mgt.api.jaxrs.beans.DeviceTypeVersionWrapper;
|
||||
@ -154,6 +155,7 @@ public class DeviceMgtAPIUtils {
|
||||
|
||||
private static volatile SubscriptionManager subscriptionManager;
|
||||
private static volatile ApplicationManager applicationManager;
|
||||
private static volatile ConsumerRESTAPIServices consumerRESTAPIServices;
|
||||
|
||||
static {
|
||||
String keyStorePassword = ServerConfiguration.getInstance().getFirstProperty("Security.KeyStore.Password");
|
||||
@ -387,6 +389,25 @@ public class DeviceMgtAPIUtils {
|
||||
return otpManagementService;
|
||||
}
|
||||
|
||||
/**
|
||||
* Initializing and accessing method for APIM Consumer REST API.
|
||||
*
|
||||
* @return ConsumerRESTAPIServices instance
|
||||
* @throws IllegalStateException if ConsumerRESTAPIServices cannot be initialized
|
||||
*/
|
||||
public static synchronized ConsumerRESTAPIServices getConsumerRESTAPIServices() {
|
||||
if (consumerRESTAPIServices == null) {
|
||||
PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext();
|
||||
consumerRESTAPIServices = (ConsumerRESTAPIServices) ctx.getOSGiService(ConsumerRESTAPIServices.class, null);
|
||||
if (consumerRESTAPIServices == null) {
|
||||
String msg = "Consumer Rest API service has not initialized.";
|
||||
log.error(msg);
|
||||
throw new IllegalStateException(msg);
|
||||
}
|
||||
}
|
||||
return consumerRESTAPIServices;
|
||||
}
|
||||
|
||||
public static RegistryService getRegistryService() {
|
||||
RegistryService registryService;
|
||||
PrivilegedCarbonContext ctx = PrivilegedCarbonContext.getThreadLocalCarbonContext();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user