46 final AuthenticationMethod authenticationMethod = AuthenticationMethod.fromString(
params.getAuthenticationMethod());
48 final TokenClient tokenClient =
new TokenClient(tokenEndpoint);
51 final TokenResponse tokenResponse;
52 if (authenticationMethod == AuthenticationMethod.PRIVATE_KEY_JWT) {
53 LOG.trace(
"Getting client token with private_key_jwt client authentication ...");
55 SignatureAlgorithm algorithm = SignatureAlgorithm.fromString(
params.getAlgorithm());
56 if (algorithm == null) {
57 throw new ErrorResponseException(ErrorResponseCode.INVALID_ALGORITHM);
60 TokenRequest tokenRequest =
new TokenRequest(GrantType.CLIENT_CREDENTIALS);
62 tokenRequest.setAuthUsername(
params.getClientId());
63 tokenRequest.setAuthenticationMethod(AuthenticationMethod.PRIVATE_KEY_JWT);
64 tokenRequest.setAlgorithm(algorithm);
66 tokenRequest.setKeyId(
params.getKeyId());
67 tokenRequest.setAudience(tokenEndpoint);
69 tokenClient.setRequest(tokenRequest);
70 tokenResponse = tokenClient.exec();
75 if (tokenResponse != null) {
76 if (Util.allNotBlank(tokenResponse.getAccessToken())) {
77 GetClientTokenResponse response =
new GetClientTokenResponse();
78 response.setAccessToken(tokenResponse.getAccessToken());
79 response.setExpiresIn(tokenResponse.getExpiresIn());
80 response.setRefreshToken(tokenResponse.getRefreshToken());
81 response.setScope(tokenResponse.getScope());
85 LOG.error(
"access_token is blank in response, params: " +
params +
", response: " + tokenResponse);
86 LOG.error(
"Please check AS logs for more details (oxauth.log for CE).");
89 LOG.error(
"No response from TokenClient");
90 LOG.error(
"Please check AS logs for more details (oxauth.log for CE).");
92 }
catch (ErrorResponseException e) {
94 }
catch (Exception e) {
95 LOG.error(e.getMessage(), e);
97 return CommandResponse.INTERNAL_ERROR_RESPONSE;
HttpService getHttpService()
Definition: BaseOperation.java:72
CommandResponse okResponse(IOpResponse p_data)
Definition: BaseOperation.java:145
DiscoveryService getDiscoveryService()
Definition: BaseOperation.java:96
static final Logger LOG
Definition: GetClientTokenOperation.java:32
String scopeAsString(GetClientTokenParams params)
Definition: GetClientTokenOperation.java:100
OxAuthCryptoProvider getCryptoProvider()
Definition: BaseOperation.java:112
final T params
Definition: BaseOperation.java:40