use of org.wso2.carbon.apimgt.impl.token.ApiKeyGenerator in project carbon-apimgt by wso2.
the class APIProviderImpl method generateApiKey.
@Override
public String generateApiKey(String apiId) throws APIManagementException {
APIInfo apiInfo = apiMgtDAO.getAPIInfoByUUID(apiId);
if (apiInfo == null) {
throw new APIMgtResourceNotFoundException("Couldn't retrieve existing API with ID: " + apiId, ExceptionCodes.from(ExceptionCodes.API_NOT_FOUND, apiId));
}
SubscribedApiDTO subscribedApiInfo = new SubscribedApiDTO();
subscribedApiInfo.setName(apiInfo.getName());
subscribedApiInfo.setContext(apiInfo.getContext());
subscribedApiInfo.setPublisher(apiInfo.getProvider());
subscribedApiInfo.setVersion(apiInfo.getVersion());
JwtTokenInfoDTO jwtTokenInfoDTO = new JwtTokenInfoDTO();
jwtTokenInfoDTO.setEndUserName(username);
jwtTokenInfoDTO.setKeyType(APIConstants.API_KEY_TYPE_PRODUCTION);
jwtTokenInfoDTO.setSubscribedApiDTOList(Arrays.asList(subscribedApiInfo));
jwtTokenInfoDTO.setExpirationTime(60 * 1000);
ApiKeyGenerator apiKeyGenerator = new InternalAPIKeyGenerator();
return apiKeyGenerator.generateToken(jwtTokenInfoDTO);
}
use of org.wso2.carbon.apimgt.impl.token.ApiKeyGenerator in project carbon-apimgt by wso2.
the class APIConsumerImpl method generateApiKey.
@Override
public String generateApiKey(Application application, String userName, long validityPeriod, String permittedIP, String permittedReferer) throws APIManagementException {
JwtTokenInfoDTO jwtTokenInfoDTO = APIUtil.getJwtTokenInfoDTO(application, userName, MultitenantUtils.getTenantDomain(userName));
ApplicationDTO applicationDTO = new ApplicationDTO();
applicationDTO.setId(application.getId());
applicationDTO.setName(application.getName());
applicationDTO.setOwner(application.getOwner());
applicationDTO.setTier(application.getTier());
applicationDTO.setUuid(application.getUUID());
jwtTokenInfoDTO.setApplication(applicationDTO);
jwtTokenInfoDTO.setSubscriber(userName);
jwtTokenInfoDTO.setExpirationTime(validityPeriod);
jwtTokenInfoDTO.setKeyType(application.getKeyType());
jwtTokenInfoDTO.setPermittedIP(permittedIP);
jwtTokenInfoDTO.setPermittedReferer(permittedReferer);
ApiKeyGenerator apiKeyGenerator = loadApiKeyGenerator();
return apiKeyGenerator.generateToken(jwtTokenInfoDTO);
}
use of org.wso2.carbon.apimgt.impl.token.ApiKeyGenerator in project carbon-apimgt by wso2.
the class APIConsumerImpl method loadApiKeyGenerator.
private ApiKeyGenerator loadApiKeyGenerator() {
ApiKeyGenerator apiKeyGenerator = null;
String keyGeneratorClassName = APIUtil.getApiKeyGeneratorImpl();
try {
Class keyGeneratorClass = APIConsumerImpl.class.getClassLoader().loadClass(keyGeneratorClassName);
Constructor constructor = keyGeneratorClass.getDeclaredConstructor();
apiKeyGenerator = (ApiKeyGenerator) constructor.newInstance();
} catch (ClassNotFoundException | NoSuchMethodException | InstantiationException | IllegalAccessException | InvocationTargetException e) {
log.error("Error while loading the api key generator class: " + keyGeneratorClassName, e);
}
return apiKeyGenerator;
}
Aggregations