181 scope = ServerUtil.urlDecode(scope);
183 String tokenBindingHeader = httpRequest.getHeader(
"Sec-Token-Binding");
185 OAuth2AuditLog oAuth2AuditLog =
new OAuth2AuditLog(ServerUtil.getIpAddress(httpRequest), Action.USER_AUTHORIZATION);
186 oAuth2AuditLog.setClientId(clientId);
187 oAuth2AuditLog.setScope(scope);
191 log.debug(
"Attempting to request authorization: " 192 +
"responseType = {}, clientId = {}, scope = {}, redirectUri = {}, nonce = {}, " 193 +
"state = {}, request = {}, isSecure = {}, requestSessionId = {}, sessionId = {}",
194 responseType, clientId, scope, redirectUri, nonce,
195 state, request, securityContext.isSecure(), requestSessionId, sessionId);
197 log.debug(
"Attempting to request authorization: " 198 +
"acrValues = {}, amrValues = {}, originHeaders = {}, codeChallenge = {}, codeChallengeMethod = {}, " 199 +
"customRespHeaders = {}, claims = {}, tokenBindingHeader = {}",
200 acrValuesStr, amrValuesStr, originHeaders, codeChallenge, codeChallengeMethod, customRespHeaders, claims, tokenBindingHeader);
202 ResponseBuilder builder = Response.ok();
204 List<String> uiLocales = null;
205 if (StringUtils.isNotBlank(uiLocalesStr)) {
206 uiLocales = Util.splittedStringAsList(uiLocalesStr,
" ");
209 List<ResponseType> responseTypes = ResponseType.fromString(responseType,
" ");
210 List<Prompt> prompts = Prompt.fromString(prompt,
" ");
211 List<String> acrValues = Util.splittedStringAsList(acrValuesStr,
" ");
212 List<String> amrValues = Util.splittedStringAsList(amrValuesStr,
" ");
214 ResponseMode responseMode = ResponseMode.getByValue(respMode);
217 QueryStringDecoder.decode(httpRequest.getQueryString()));
220 User user = sessionUser != null && StringUtils.isNotBlank(sessionUser.getUserDn()) ?
224 Map<String, String> customResponseHeaders = Util.jsonObjectArrayStringAsMap(customRespHeaders);
228 }
catch (AcrChangedException e) {
230 if (e.isForceReAuthentication()) {
231 if (!prompts.contains(Prompt.LOGIN)) {
232 log.info(
"ACR is changed, adding prompt=login to prompts");
233 prompts.add(Prompt.LOGIN);
242 if (!AuthorizeParamsValidator.validateParams(responseType, clientId, prompts, nonce, request, requestUri)) {
244 RedirectUri redirectUriResponse =
new RedirectUri(redirectUri, responseTypes, responseMode);
246 AuthorizeErrorResponseType.INVALID_REQUEST, state));
248 builder = RedirectUtil.getRedirectResponseBuilder(redirectUriResponse, httpRequest);
250 builder = Response.status(Response.Status.BAD_REQUEST.getStatusCode());
252 AuthorizeErrorResponseType.INVALID_REQUEST, state));
256 if (CollectionUtils.isEmpty(acrValues) && client != null && !ArrayUtils.isEmpty(client.getDefaultAcrValues())) {
257 acrValues =
new ArrayList<String>();
258 acrValues.addAll(Arrays.asList(client.getDefaultAcrValues()));
261 JwtAuthorizationRequest jwtAuthorizationRequest = null;
263 if (client != null) {
264 if (client.isDisabled()) {
265 builder = Response.status(Response.Status.FORBIDDEN.getStatusCode());
270 return builder.build();
273 List<String> scopes =
new ArrayList<String>();
274 if (StringHelper.isNotEmpty(scope)) {
276 scopes.addAll(grantedScopes);
281 boolean validRedirectUri = redirectUri != null;
283 if (AuthorizeParamsValidator.validateResponseTypes(responseTypes, client)
285 if (validRedirectUri) {
287 if (StringUtils.isNotBlank(accessToken)) {
290 boolean denyAccess =
true;
292 if (authorizationGrant != null) {
293 final AbstractToken accessTokenObject = authorizationGrant.
getAccessToken(accessToken);
294 if (accessTokenObject != null && accessTokenObject.isValid()) {
300 RedirectUri redirectUriResponse =
new RedirectUri(redirectUri, responseTypes, responseMode);
302 AuthorizeErrorResponseType.ACCESS_DENIED, state));
304 builder = RedirectUtil.getRedirectResponseBuilder(redirectUriResponse, httpRequest);
306 return builder.build();
308 oAuth2AuditLog.setUsername(authorizationGrant.getUserId());
315 if (StringUtils.isNotBlank(requestUri)) {
316 boolean validRequestUri =
false;
318 URI reqUri =
new URI(requestUri);
319 String reqUriHash = reqUri.getFragment();
320 String reqUriWithoutFragment = reqUri.getScheme() +
":" + reqUri.getSchemeSpecificPart();
322 ClientRequest clientRequest =
new ClientRequest(reqUriWithoutFragment);
323 clientRequest.setHttpMethod(HttpMethod.GET);
325 ClientResponse<String> clientResponse = clientRequest.get(String.class);
326 int status = clientResponse.getStatus();
329 request = clientResponse.getEntity(String.class);
331 if (StringUtils.isBlank(reqUriHash)) {
332 validRequestUri =
true;
334 String hash = Base64Util.base64urlencode(JwtUtil.getMessageDigestSHA256(request));
335 validRequestUri = StringUtils.equals(reqUriHash, hash);
339 if (validRequestUri) {
342 RedirectUri redirectUriResponse =
new RedirectUri(redirectUri, responseTypes, responseMode);
344 AuthorizeErrorResponseType.INVALID_REQUEST_URI, state));
346 builder = RedirectUtil.getRedirectResponseBuilder(redirectUriResponse, httpRequest);
348 return builder.build();
350 }
catch (URISyntaxException e) {
351 log.error(e.getMessage(), e);
352 }
catch (UnknownHostException e) {
353 log.error(e.getMessage(), e);
354 }
catch (ConnectException e) {
355 log.error(e.getMessage(), e);
356 }
catch (Exception e) {
357 log.error(e.getMessage(), e);
361 boolean invalidOpenidRequestObject =
false;
362 if (StringUtils.isNotBlank(request)) {
364 jwtAuthorizationRequest =
new JwtAuthorizationRequest(
appConfiguration, request, client);
366 if (!jwtAuthorizationRequest.getResponseTypes().containsAll(responseTypes)
367 || !responseTypes.containsAll(jwtAuthorizationRequest.getResponseTypes())) {
368 throw new InvalidJwtException(
"The responseType parameter is not the same in the JWT");
369 }
else if (jwtAuthorizationRequest.getClientId() != null
370 && !jwtAuthorizationRequest.getClientId().equals(clientId)) {
371 throw new InvalidJwtException(
"The clientId parameter is not the same in the JWT");
372 }
else if (!jwtAuthorizationRequest.getScopes().containsAll(scopes)
373 || !scopes.containsAll(jwtAuthorizationRequest.getScopes())) {
374 throw new InvalidJwtException(
"The scope parameter is not the same in the JWT");
375 }
else if (jwtAuthorizationRequest.getRedirectUri() != null
376 && !jwtAuthorizationRequest.getRedirectUri().equals(redirectUri)) {
377 throw new InvalidJwtException(
"The redirectUri parameter is not the same in the JWT");
378 }
else if (jwtAuthorizationRequest.getState() != null && StringUtils.isNotBlank(state)
379 && !jwtAuthorizationRequest.getState().equals(state)) {
380 throw new InvalidJwtException(
"The state parameter is not the same in the JWT");
381 }
else if (jwtAuthorizationRequest.getNonce() != null && StringUtils.isNotBlank(nonce)
382 && !jwtAuthorizationRequest.getNonce().equals(nonce)) {
383 throw new InvalidJwtException(
"The nonce parameter is not the same in the JWT");
384 }
else if (jwtAuthorizationRequest.getDisplay() != null && StringUtils.isNotBlank(display)
385 && !jwtAuthorizationRequest.getDisplay().getParamName().equals(display)) {
386 throw new InvalidJwtException(
"The display parameter is not the same in the JWT");
387 }
else if (!jwtAuthorizationRequest.getPrompts().isEmpty() && !prompts.isEmpty()
388 && !jwtAuthorizationRequest.getPrompts().containsAll(prompts)) {
389 throw new InvalidJwtException(
"The prompt parameter is not the same in the JWT");
390 }
else if (jwtAuthorizationRequest.getIdTokenMember() != null
391 && jwtAuthorizationRequest.getIdTokenMember().getMaxAge() != null && maxAge != null
392 && !jwtAuthorizationRequest.getIdTokenMember().getMaxAge().equals(maxAge)) {
393 throw new InvalidJwtException(
"The maxAge parameter is not the same in the JWT");
395 }
catch (InvalidJwtException e) {
396 invalidOpenidRequestObject =
true;
397 log.debug(
"Invalid JWT authorization request. Exception = {}, Message = {}", e,
398 e.getClass().getName(), e.getMessage());
399 }
catch (Exception e) {
400 invalidOpenidRequestObject =
true;
401 log.debug(
"Invalid JWT authorization request. Exception = {}, Message = {}", e,
402 e.getClass().getName(), e.getMessage());
405 if (invalidOpenidRequestObject) {
406 RedirectUri redirectUriResponse =
new RedirectUri(redirectUri, responseTypes, responseMode);
409 AuthorizeErrorResponseType.INVALID_OPENID_REQUEST_OBJECT, state));
411 builder = RedirectUtil.getRedirectResponseBuilder(redirectUriResponse, httpRequest);
413 AuthorizationGrant authorizationGrant = null;
414 RedirectUri redirectUriResponse =
new RedirectUri(redirectUri, responseTypes, responseMode);
416 if (jwtAuthorizationRequest != null && jwtAuthorizationRequest.getIdTokenMember() != null) {
417 Claim userIdClaim = jwtAuthorizationRequest.getIdTokenMember().getClaim(JwtClaimName.SUBJECT_IDENTIFIER);
418 if (userIdClaim != null && userIdClaim.getClaimValue() != null
419 && userIdClaim.getClaimValue().getValue() != null) {
420 String userIdClaimValue = userIdClaim.getClaimValue().getValue();
423 String userId = user.getUserId();
425 if (!userId.equalsIgnoreCase(userIdClaimValue)) {
427 AuthorizeErrorResponseType.USER_MISMATCHED, state));
429 builder = RedirectUtil.getRedirectResponseBuilder(redirectUriResponse, httpRequest);
431 return builder.build();
439 if (prompts.contains(Prompt.NONE)) {
441 Map<String, String> params;
442 if (method.equals(HttpMethod.GET)) {
443 params = QueryStringDecoder.decode(httpRequest.getQueryString());
449 if (userDn != null) {
452 Map<String, String> parameterMap = Maps.newHashMap(genericRequestMap);
463 AuthorizeErrorResponseType.LOGIN_REQUIRED, state));
465 builder = RedirectUtil.getRedirectResponseBuilder(redirectUriResponse, httpRequest);
467 return builder.build();
471 AuthorizeErrorResponseType.LOGIN_REQUIRED, state));
473 builder = RedirectUtil.getRedirectResponseBuilder(redirectUriResponse, httpRequest);
475 return builder.build();
478 if (prompts.contains(Prompt.LOGIN)) {
479 endSession(sessionId, httpRequest, httpResponse);
481 prompts.remove(Prompt.LOGIN);
485 redirectUri, state, responseMode, nonce, display, prompts, maxAge, uiLocales,
486 idTokenHint, loginHint, acrValues, amrValues, request, requestUri, originHeaders,
487 codeChallenge, codeChallengeMethod, sessionId, claims, customParameters);
488 builder = RedirectUtil.getRedirectResponseBuilder(redirectUriResponse, httpRequest);
490 return builder.build();
495 boolean validAuthenticationMaxAge =
true;
496 Integer authenticationMaxAge = null;
497 if (maxAge != null) {
498 authenticationMaxAge = maxAge;
499 }
else if (!invalidOpenidRequestObject && jwtAuthorizationRequest != null
500 && jwtAuthorizationRequest.getIdTokenMember() != null
501 && jwtAuthorizationRequest.getIdTokenMember().getMaxAge() != null) {
502 authenticationMaxAge = jwtAuthorizationRequest.getIdTokenMember().getMaxAge();
504 GregorianCalendar now =
new GregorianCalendar(TimeZone.getTimeZone(
"UTC"));
505 GregorianCalendar userAuthenticationTime =
new GregorianCalendar(TimeZone.getTimeZone(
"UTC"));
506 userAuthenticationTime.setTime(sessionUser.getAuthenticationTime());
507 if (authenticationMaxAge != null) {
508 userAuthenticationTime.add(Calendar.SECOND, authenticationMaxAge);
509 validAuthenticationMaxAge = userAuthenticationTime.after(now);
510 }
else if (client.getDefaultMaxAge() != null) {
511 userAuthenticationTime.add(Calendar.SECOND, client.getDefaultMaxAge());
512 validAuthenticationMaxAge = userAuthenticationTime.after(now);
514 if (!validAuthenticationMaxAge) {
515 endSession(sessionId, httpRequest, httpResponse);
519 redirectUri, state, responseMode, nonce, display, prompts, maxAge, uiLocales,
520 idTokenHint, loginHint, acrValues, amrValues, request, requestUri, originHeaders,
521 codeChallenge, codeChallengeMethod, sessionId, claims, customParameters);
522 builder = RedirectUtil.getRedirectResponseBuilder(redirectUriResponse, httpRequest);
524 return builder.build();
527 oAuth2AuditLog.setUsername(user.getUserId());
530 user.getAttribute(
"inum"),
531 client.getClientId(),
532 client.getPersistClientAuthorizations());
533 if (scopes.size() > 0) {
534 if (clientAuthorizations != null && clientAuthorizations.getScopes() != null) {
535 if (Arrays.asList(clientAuthorizations.getScopes()).containsAll(scopes)) {
536 sessionUser.addPermission(clientId,
true);
539 redirectUri, state, responseMode, nonce, display, prompts, maxAge, uiLocales,
540 idTokenHint, loginHint, acrValues, amrValues, request, requestUri, originHeaders,
541 codeChallenge, codeChallengeMethod, sessionId, claims, customParameters);
542 builder = RedirectUtil.getRedirectResponseBuilder(redirectUriResponse, httpRequest);
544 return builder.build();
546 }
else if (client.getTrustedClient()) {
547 sessionUser.addPermission(clientId,
true);
551 if (prompts.contains(Prompt.LOGIN)) {
552 endSession(sessionId, httpRequest, httpResponse);
554 prompts.remove(Prompt.LOGIN);
557 redirectUri, state, responseMode, nonce, display, prompts, maxAge, uiLocales,
558 idTokenHint, loginHint, acrValues, amrValues, request, requestUri, originHeaders,
559 codeChallenge, codeChallengeMethod, sessionId, claims, customParameters);
560 builder = RedirectUtil.getRedirectResponseBuilder(redirectUriResponse, httpRequest);
562 return builder.build();
565 if (prompts.contains(Prompt.CONSENT) || !sessionUser.isPermissionGrantedForClient(clientId)) {
566 prompts.remove(Prompt.CONSENT);
569 redirectUri, state, responseMode, nonce, display, prompts, maxAge, uiLocales,
570 idTokenHint, loginHint, acrValues, amrValues, request, requestUri, originHeaders,
571 codeChallenge, codeChallengeMethod, sessionId, claims, customParameters);
572 builder = RedirectUtil.getRedirectResponseBuilder(redirectUriResponse, httpRequest);
574 return builder.build();
577 AuthorizationCode authorizationCode = null;
578 if (responseTypes.contains(ResponseType.CODE)) {
580 sessionUser.getAuthenticationTime());
582 authorizationGrant.setJwtAuthorizationRequest(jwtAuthorizationRequest);
583 authorizationGrant.setTokenBindingHash(TokenBindingMessage.getTokenBindingIdHashFromTokenBindingMessage(tokenBindingHeader, client.getIdTokenTokenBindingCnf()));
584 authorizationGrant.setScopes(scopes);
585 authorizationGrant.setCodeChallenge(codeChallenge);
586 authorizationGrant.setCodeChallengeMethod(codeChallengeMethod);
587 authorizationGrant.setClaims(claims);
590 authorizationGrant.setAcrValues(acrValuesStr);
591 authorizationGrant.setSessionDn(sessionUser.getDn());
592 authorizationGrant.save();
594 authorizationCode = authorizationGrant.getAuthorizationCode();
596 redirectUriResponse.addResponseParameter(
"code", authorizationCode.getCode());
599 AccessToken newAccessToken = null;
600 if (responseTypes.contains(ResponseType.TOKEN)) {
601 if (authorizationGrant == null) {
603 sessionUser.getAuthenticationTime());
605 authorizationGrant.setJwtAuthorizationRequest(jwtAuthorizationRequest);
606 authorizationGrant.setScopes(scopes);
607 authorizationGrant.setClaims(claims);
610 authorizationGrant.setAcrValues(acrValuesStr);
611 authorizationGrant.setSessionDn(sessionUser.getDn());
612 authorizationGrant.save();
614 newAccessToken = authorizationGrant.createAccessToken();
616 redirectUriResponse.addResponseParameter(AuthorizeResponseParam.ACCESS_TOKEN, newAccessToken.getCode());
617 redirectUriResponse.addResponseParameter(AuthorizeResponseParam.TOKEN_TYPE, newAccessToken.getTokenType().toString());
618 redirectUriResponse.addResponseParameter(AuthorizeResponseParam.EXPIRES_IN, newAccessToken.getExpiresIn() +
"");
621 if (responseTypes.contains(ResponseType.ID_TOKEN)) {
623 if (authorizationGrant == null) {
624 includeIdTokenClaims =
true;
626 sessionUser.getAuthenticationTime());
628 authorizationGrant.setJwtAuthorizationRequest(jwtAuthorizationRequest);
629 authorizationGrant.setScopes(scopes);
630 authorizationGrant.setClaims(claims);
633 authorizationGrant.setAcrValues(acrValuesStr);
634 authorizationGrant.setSessionDn(sessionUser.getDn());
635 authorizationGrant.save();
637 IdToken idToken = authorizationGrant.createIdToken(
638 nonce, authorizationCode, newAccessToken, authorizationGrant, includeIdTokenClaims, TokenBindingMessage.createIdTokenTokingBindingPreprocessing(tokenBindingHeader, client.getIdTokenTokenBindingCnf()));
640 redirectUriResponse.addResponseParameter(AuthorizeResponseParam.ID_TOKEN, idToken.getCode());
643 if (authorizationGrant != null && StringHelper.isNotEmpty(acrValuesStr)) {
644 redirectUriResponse.addResponseParameter(AuthorizeResponseParam.ACR_VALUES, acrValuesStr);
648 if (sessionUser.getId() == null) {
650 String newSessionId = newSessionUser.
getId();
651 sessionUser.setId(newSessionId);
652 log.trace(
"newSessionId = {}", newSessionId);
654 redirectUriResponse.addResponseParameter(AuthorizeResponseParam.SESSION_ID, sessionUser.getId());
655 redirectUriResponse.addResponseParameter(AuthorizeResponseParam.SESSION_STATE, sessionUser.getSessionState());
656 redirectUriResponse.addResponseParameter(AuthorizeResponseParam.STATE, state);
657 if (scope != null && !scope.isEmpty()) {
658 scope = authorizationGrant.checkScopesPolicy(scope);
660 redirectUriResponse.addResponseParameter(AuthorizeResponseParam.SCOPE, scope);
664 oAuth2AuditLog.setSuccess(
true);
666 builder = RedirectUtil.getRedirectResponseBuilder(redirectUriResponse, httpRequest);
669 for (String key : customResponseHeaders.keySet()) {
670 builder.header(key, customResponseHeaders.get(key));
675 builder =
error(Response.Status.BAD_REQUEST,
676 AuthorizeErrorResponseType.INVALID_REQUEST_REDIRECT_URI, state);
679 builder = Response.status(Response.Status.BAD_REQUEST.getStatusCode());
681 AuthorizeErrorResponseType.UNSUPPORTED_RESPONSE_TYPE, state));
684 builder =
error(Response.Status.UNAUTHORIZED, AuthorizeErrorResponseType.UNAUTHORIZED_CLIENT, state);
691 }
catch (AcrChangedException e) {
692 log.error(
"ACR is changed, please provide a supported and enabled acr value");
693 log.error(e.getMessage(), e);
695 RedirectUri redirectUriResponse =
new RedirectUri(redirectUri, responseTypes, responseMode);
697 AuthorizeErrorResponseType.SESSION_SELECTION_REQUIRED, state));
698 redirectUriResponse.addResponseParameter(
"hint",
"Use prompt=login in order to alter existing session.");
700 return RedirectUtil.getRedirectResponseBuilder(redirectUriResponse, httpRequest).build();
701 }
catch (EntryPersistenceException e) {
702 builder =
error(Response.Status.UNAUTHORIZED, AuthorizeErrorResponseType.UNAUTHORIZED_CLIENT, state);
703 log.error(e.getMessage(), e);
704 }
catch (SignatureException e) {
705 builder = Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode());
706 log.error(e.getMessage(), e);
707 }
catch (StringEncrypter.EncryptionException e) {
708 builder = Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode());
709 log.error(e.getMessage(), e);
710 }
catch (InvalidJwtException e) {
711 builder = Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode());
712 log.error(e.getMessage(), e);
713 }
catch (Exception e) {
714 builder = Response.status(Response.Status.INTERNAL_SERVER_ERROR.getStatusCode());
715 log.error(e.getMessage(), e);
719 return builder.build();
String getErrorAsJson(IErrorType p_type)
Definition: ErrorResponseFactory.java:86
void addPermission(String clientId, Boolean granted)
Definition: SessionId.java:188
void updatAccessTime(Client client, boolean isUpdateLogonTime)
Definition: ClientService.java:306
void sendMessage(OAuth2AuditLog oAuth2AuditLog)
Definition: ApplicationAuditLogger.java:78
void endSession(String sessionId, HttpServletRequest httpRequest, HttpServletResponse httpResponse)
Definition: AuthorizeRestWebServiceImpl.java:860
static String implode(String[] inputArray, String glueString)
Definition: StringUtils.java:56
void setNonce(String nonce)
Definition: AbstractAuthorizationGrant.java:133
AppConfiguration appConfiguration
Definition: AuthorizeRestWebServiceImpl.java:144
Map< String, String > getCustomParameters(@Nonnull final Map< String, String > requestParameterMap)
Definition: RequestParameterService.java:100
UserService userService
Definition: AuthorizeRestWebServiceImpl.java:123
String getErrorAsQueryString(IErrorType p_type, String p_state)
Definition: ErrorResponseFactory.java:126
ApplicationAuditLogger applicationAuditLogger
Definition: AuthorizeRestWebServiceImpl.java:108
SessionId getSessionId()
Definition: Identity.java:30
ClientAuthorizationsService clientAuthorizationsService
Definition: AuthorizeRestWebServiceImpl.java:138
ErrorResponseFactory errorResponseFactory
Definition: AuthorizeRestWebServiceImpl.java:111
SessionId assertAuthenticatedSessionCorrespondsToNewRequest(SessionId session, String acrValuesStr)
Definition: SessionIdService.java:126
AuthorizationCodeGrant createAuthorizationCodeGrant(User user, Client client, Date authenticationTime)
Definition: AuthorizationGrantList.java:85
Definition: Base64Util.java:7
ScopeChecker scopeChecker
Definition: AuthorizeRestWebServiceImpl.java:135
Map< String, String > getAllowedParameters(@Nonnull final Map< String, String > requestParameterMap)
Definition: RequestParameterService.java:81
ImplicitGrant createImplicitGrant(User user, Client client, Date authenticationTime)
Definition: AuthorizationGrantList.java:96
Boolean getUseCacheForAllImplicitFlowObjects()
Definition: AppConfiguration.java:952
Identity identity
Definition: AuthorizeRestWebServiceImpl.java:126
SessionId generateAuthenticatedSessionId(HttpServletRequest httpRequest, String userDn)
Definition: SessionIdService.java:378
Boolean getLegacyIdTokenClaims()
Definition: AppConfiguration.java:1265
Logger log
Definition: AuthorizeRestWebServiceImpl.java:105
String processAuthenticationFilters(Map<?, ?> attributeValues)
Definition: BaseAuthFilterService.java:234
Set< GrantType > getGrantTypesSupported()
Definition: AppConfiguration.java:549
User getUser(String userId, String... returnAttributes)
Definition: UserService.java:87
AuthenticationFilterService authenticationFilterService
Definition: AuthorizeRestWebServiceImpl.java:129
void redirectToAuthorizationPage(RedirectUri redirectUriResponse, List< ResponseType > responseTypes, String scope, String clientId, String redirectUri, String state, ResponseMode responseMode, String nonce, String display, List< Prompt > prompts, Integer maxAge, List< String > uiLocales, String idTokenHint, String loginHint, List< String > acrValues, List< String > amrValues, String request, String requestUri, String originHeaders, String codeChallenge, String codeChallengeMethod, String sessionId, String claims, Map< String, String > customParameters)
Definition: AuthorizeRestWebServiceImpl.java:765
boolean isEnabled()
Definition: BaseAuthFilterService.java:259
AuthorizationGrant createAuthorizationGrant(User user, Client client, Date authenticationTime)
Definition: AuthorizationGrantList.java:77
String getId()
Definition: SessionId.java:136
void setSessionAttributes(Map< String, String > sessionAttributes)
Definition: SessionId.java:203
RedirectionUriService redirectionUriService
Definition: AuthorizeRestWebServiceImpl.java:114
AuthorizationGrantList authorizationGrantList
Definition: AuthorizeRestWebServiceImpl.java:117
SessionIdService sessionIdService
Definition: AuthorizeRestWebServiceImpl.java:132
ResponseBuilder error(Response.Status p_status, AuthorizeErrorResponseType p_type, String p_state)
Definition: AuthorizeRestWebServiceImpl.java:761
Definition: StringUtils.java:24
ClientService clientService
Definition: AuthorizeRestWebServiceImpl.java:120
AbstractToken getAccessToken(String tokenCode)
Definition: AbstractAuthorizationGrant.java:445
void createSessionIdCookie(String sessionId, String sessionState, HttpServletResponse httpResponse, String cookieName)
Definition: SessionIdService.java:284
boolean updateSessionId(final SessionId sessionId)
Definition: SessionIdService.java:534
Set< Client > getClient(Collection< String > clientIds, boolean silent)
Definition: ClientService.java:123
AuthorizationGrant getAuthorizationGrantByAccessToken(String accessToken)
Definition: AuthorizationGrantList.java:166
Boolean getCustomHeadersWithAuthorizationResponse()
Definition: AppConfiguration.java:1273
User getUserByDn(String dn, String... returnAttributes)
Definition: UserService.java:66
Map< String, String > getGenericRequestMap(HttpServletRequest httpRequest)
Definition: AuthorizeRestWebServiceImpl.java:752
String validateRedirectionUri(String clientIdentifier, String redirectionUri)
Definition: RedirectionUriService.java:50
Set< String > checkScopesPolicy(Client client, String scope)
Definition: ScopeChecker.java:39
RequestParameterService requestParameterService
Definition: AuthorizeRestWebServiceImpl.java:141
ClientAuthorizations findClientAuthorizations(String userInum, String clientId, boolean persistInLdap)
Definition: ClientAuthorizationsService.java:68