201 if (tokenLdap != null) {
202 final AuthorizationGrantType grantType = AuthorizationGrantType.fromString(tokenLdap.getGrantType());
203 if (grantType != null) {
206 final Date authenticationTime = tokenLdap.getAuthenticationTime();
207 final String nonce = tokenLdap.getNonce();
209 AuthorizationGrant result;
211 case AUTHORIZATION_CODE:
212 AuthorizationCodeGrant authorizationCodeGrant =
grantInstance.select(AuthorizationCodeGrant.class).get();
213 authorizationCodeGrant.init(user, client, authenticationTime);
215 result = authorizationCodeGrant;
217 case CLIENT_CREDENTIALS:
218 ClientCredentialsGrant clientCredentialsGrant =
grantInstance.select(ClientCredentialsGrant.class).get();
219 clientCredentialsGrant.init(user, client);
221 result = clientCredentialsGrant;
224 ImplicitGrant implicitGrant =
grantInstance.select(ImplicitGrant.class).get();
225 implicitGrant.init(user, client, authenticationTime);
227 result = implicitGrant;
229 case RESOURCE_OWNER_PASSWORD_CREDENTIALS:
230 ResourceOwnerPasswordCredentialsGrant resourceOwnerPasswordCredentialsGrant =
grantInstance.select(ResourceOwnerPasswordCredentialsGrant.class).get();
231 resourceOwnerPasswordCredentialsGrant.init(user, client);
233 result = resourceOwnerPasswordCredentialsGrant;
239 final String grantId = tokenLdap.getGrantId();
240 final String jwtRequest = tokenLdap.getJwtRequest();
241 final String authMode = tokenLdap.getAuthMode();
242 final String sessionDn = tokenLdap.getSessionDn();
243 final String claims = tokenLdap.getClaims();
245 result.setTokenBindingHash(tokenLdap.getTokenBindingHash());
246 result.setNonce(nonce);
247 result.setTokenLdap(tokenLdap);
248 if (StringUtils.isNotBlank(grantId)) {
249 result.setGrantId(grantId);
251 result.setScopes(Util.splittedStringAsList(tokenLdap.getScope(),
" "));
253 result.setCodeChallenge(tokenLdap.getCodeChallenge());
254 result.setCodeChallengeMethod(tokenLdap.getCodeChallengeMethod());
256 if (StringUtils.isNotBlank(jwtRequest)) {
258 result.setJwtAuthorizationRequest(
new JwtAuthorizationRequest(
appConfiguration, jwtRequest, client));
259 }
catch (Exception e) {
260 log.trace(e.getMessage(), e);
264 result.setAcrValues(authMode);
265 result.setSessionDn(sessionDn);
266 result.setClaims(claims);
268 if (tokenLdap.getTokenTypeEnum() != null) {
269 switch (tokenLdap.getTokenTypeEnum()) {
270 case AUTHORIZATION_CODE:
271 if (result instanceof AuthorizationCodeGrant) {
272 final AuthorizationCode code =
new AuthorizationCode(tokenLdap.getTokenCode(), tokenLdap.getCreationDate(), tokenLdap.getExpirationDate());
273 final AuthorizationCodeGrant g = (AuthorizationCodeGrant) result;
274 g.setAuthorizationCode(code);
278 final RefreshToken refreshToken =
new RefreshToken(tokenLdap.getTokenCode(), tokenLdap.getCreationDate(), tokenLdap.getExpirationDate());
279 result.setRefreshTokens(Arrays.asList(refreshToken));
282 final AccessToken accessToken =
new AccessToken(tokenLdap.getTokenCode(), tokenLdap.getCreationDate(), tokenLdap.getExpirationDate());
283 result.setAccessTokens(Arrays.asList(accessToken));
286 final IdToken idToken =
new IdToken(tokenLdap.getTokenCode(), tokenLdap.getCreationDate(), tokenLdap.getExpirationDate());
287 result.setIdToken(idToken);
289 case LONG_LIVED_ACCESS_TOKEN:
290 final AccessToken longLivedAccessToken =
new AccessToken(tokenLdap.getTokenCode(), tokenLdap.getCreationDate(), tokenLdap.getExpirationDate());
291 result.setLongLivedAccessToken(longLivedAccessToken);
UserService userService
Definition: AuthorizationGrantList.java:54
User getUser(String userId, String... returnAttributes)
Definition: UserService.java:87
Logger log
Definition: AuthorizationGrantList.java:45
AppConfiguration appConfiguration
Definition: AuthorizationGrantList.java:60
Instance< AbstractAuthorizationGrant > grantInstance
Definition: AuthorizationGrantList.java:48
Set< Client > getClient(Collection< String > clientIds, boolean silent)
Definition: ClientService.java:123
ClientService clientService
Definition: AuthorizationGrantList.java:57
String extractClientIdFromTokenDn(String p_dn)
Definition: AuthorizationGrantList.java:191