185 log.error(
"Permission denied. client_id should be not empty.");
193 }
catch (EntryPersistenceException ex) {
194 log.error(
"Permission denied. Failed to find client by inum '{}' in LDAP.",
clientId, ex);
199 if (client == null) {
200 log.error(
"Permission denied. Failed to find client_id '{}' in LDAP.",
clientId);
215 log.debug(
"There is already existing session which has another acr then {}, session: {}",
acrValues, session.
getId());
219 log.error(
"ACR is changed, please provide a supported and enabled acr value");
226 Map<String, String> parameterMap =
externalContext.getRequestParameterMap();
229 String redirectTo =
"/login.xhtml";
232 if (useExternalAuthenticator) {
234 if (acrValuesList.isEmpty()) {
239 if (defaultExternalAuthenticator != null) {
240 acrValuesList = Arrays.asList(defaultExternalAuthenticator.getName());
248 if (customScriptConfiguration == null) {
249 log.error(
"Failed to get CustomScriptConfiguration. auth_step: {}, acr_values: {}", 1, this.
acrValues);
254 String acr = customScriptConfiguration.getName();
257 requestParameterMap.put(
"auth_step", Integer.toString(1));
260 if (StringHelper.isNotEmpty(tmpRedirectTo)) {
261 log.trace(
"Redirect to person authentication login page: {}", tmpRedirectTo);
262 redirectTo = tmpRedirectTo;
275 if (persisted &&
log.isTraceEnabled()) {
276 log.trace(
"Session '{}' persisted to LDAP", unauthenticatedSession.
getId());
282 Map<String, Object> loginParameters =
new HashMap<String, Object>();
288 facesService.redirectWithExternal(redirectTo, loginParameters);
295 externalContext.setResponseStatus(HttpServletResponse.SC_BAD_REQUEST);
296 externalContext.setResponseContentType(MediaType.APPLICATION_JSON);
302 log.trace(
"checkPermissionGranted, user = " + user);
320 if (clientAuthorizations != null && clientAuthorizations.
getScopes() != null &&
321 Arrays.asList(clientAuthorizations.
getScopes()).containsAll(
333 log.trace(
"Consent-gathered flow passed successfully");
338 log.trace(
"Starting external consent-gathering flow");
342 log.error(
"Failed to initialize external consent-gathering flow.");
String sessionId
Definition: AuthorizeAction.java:158
AUTHENTICATED
Definition: SessionIdState.java:16
String getErrorAsJson(IErrorType p_type)
Definition: ErrorResponseFactory.java:86
static Prompt fromString(String param)
Definition: Prompt.java:57
void addPermission(String clientId, Boolean granted)
Definition: SessionId.java:188
FacesService facesService
Definition: AuthorizeAction.java:110
UNAUTHENTICATED
Definition: SessionIdState.java:16
void permissionDenied()
Definition: AuthorizeAction.java:723
Definition: AcrChangedException.java:8
Definition: SessionId.java:33
SessionIdState getState()
Definition: SessionId.java:120
CONSENT
Definition: Prompt.java:36
static String implode(String[] inputArray, String glueString)
Definition: StringUtils.java:56
SessionIdService sessionIdService
Definition: AuthorizeAction.java:80
PAIRWISE
Definition: SubjectType.java:14
String getClientId()
Definition: Client.java:275
CustomScriptConfiguration getDefaultExternalAuthenticator(AuthenticationScriptUsageType usageType)
Definition: ExternalAuthenticationService.java:386
static boolean isTrue(Boolean booleanObject)
Definition: ServerUtil.java:66
Logger log
Definition: AuthorizeAction.java:71
Boolean getSkipAuthorizationForOpenIdScopeAndPairwiseId()
Definition: AppConfiguration.java:920
String allowedScope
Definition: AuthorizeAction.java:160
boolean persistSessionId(final SessionId sessionId)
Definition: SessionIdService.java:510
String getSessionState()
Definition: SessionId.java:128
String LOGIN_HINT
Definition: AuthorizeRequestParam.java:29
ScopeChecker scopeChecker
Definition: AuthorizeAction.java:131
NetworkService networkService
Definition: AuthorizeAction.java:104
SessionId assertAuthenticatedSessionCorrespondsToNewRequest(SessionId session, String acrValuesStr)
Definition: SessionIdService.java:126
String redirectUri
Definition: AuthorizeAction.java:137
String getUserDn()
Definition: SessionId.java:152
ExternalContext externalContext
Definition: AuthorizeAction.java:119
Definition: Base64Util.java:7
Definition: ClientAuthorizations.java:14
ConsentGathererService consentGatherer
Definition: AuthorizeAction.java:122
Definition: JwtClaimName.java:13
RedirectionUriService redirectionUriService
Definition: AuthorizeAction.java:86
FacesContext facesContext
Definition: AuthorizeAction.java:116
Map< String, String > getAllowedParameters(@Nonnull final Map< String, String > requestParameterMap)
Definition: RequestParameterService.java:81
ClientAuthorizationsService clientAuthorizationsService
Definition: AuthorizeAction.java:89
String state
Definition: AuthorizeAction.java:138
Definition: SubjectType.java:12
boolean isForceReAuthentication()
Definition: AcrChangedException.java:32
String acrValues
Definition: AuthorizeAction.java:149
Object getAttribute(String userAttribute, boolean optional)
Definition: SimpleUser.java:23
boolean getPersistClientAuthorizations()
Definition: Client.java:1074
NONE
Definition: Prompt.java:27
void permissionGranted()
Definition: AuthorizeAction.java:713
static final String AUTHENTICATION_CONTEXT_CLASS_REFERENCE
Definition: JwtClaimName.java:80
ClientService clientService
Definition: AuthorizeAction.java:74
static final String REMOTE_IP
Definition: Constants.java:30
Definition: AuthorizeRequestParam.java:13
String clientId
Definition: AuthorizeAction.java:136
void invalidRequest()
Definition: AuthorizeAction.java:733
Boolean getTrustedClientEnabled()
Definition: AppConfiguration.java:912
String prompt
Definition: AuthorizeAction.java:144
String getId()
Definition: SessionId.java:136
void setSessionAttributes(Map< String, String > sessionAttributes)
Definition: SessionId.java:203
boolean isConsentGathered()
Definition: ConsentGathererService.java:269
INVALID_REQUEST_REDIRECT_URI
Definition: AuthorizeErrorResponseType.java:68
static boolean noNonePrompt(List< Prompt > prompts)
Definition: AuthorizeParamsValidator.java:56
Definition: StringUtils.java:24
SessionId handleAcrChange(SessionId session, List< Prompt > prompts)
Definition: AuthorizeAction.java:351
Definition: AuthorizeParamsValidator.java:25
AuthenticationMode defaultAuthenticationMode
Definition: AuthorizeAction.java:98
ExternalAuthenticationService externalAuthenticationService
Definition: AuthorizeAction.java:92
Definition: ServerUtil.java:50
Definition: SessionIdState.java:14
String [] getScopes()
Definition: ClientAuthorizations.java:52
Definition: Prompt.java:18
boolean configure(String userDn, String clientId, String state)
Definition: ConsentGathererService.java:74
void createSessionIdCookie(String sessionId, String sessionState, HttpServletResponse httpResponse, String cookieName)
Definition: SessionIdService.java:284
AppConfiguration appConfiguration
Definition: AuthorizeAction.java:107
Set< Client > getClient(Collection< String > clientIds, boolean silent)
Definition: ClientService.java:123
RequestParameterService requestParameterService
Definition: AuthorizeAction.java:128
String getSubjectType()
Definition: Client.java:699
static List< String > spaceSeparatedToList(String spaceSeparatedString)
Definition: StringUtils.java:115
Definition: AuthorizeErrorResponseType.java:16
Definition: Client.java:37
boolean hasOnlyOpenidScope()
Definition: AuthorizeAction.java:833
String executeExternalGetPageForStep(CustomScriptConfiguration customScriptConfiguration, int step)
Definition: ExternalAuthenticationService.java:253
SessionId generateUnauthenticatedSessionId(String userDn)
Definition: SessionIdService.java:405
SessionId getSession()
Definition: AuthorizeAction.java:372
User getUserByDn(String dn, String... returnAttributes)
Definition: UserService.java:66
Definition: Constants.java:14
UserService userService
Definition: AuthorizeAction.java:83
boolean getTrustedClient()
Definition: Client.java:1050
boolean isEnabled(AuthenticationScriptUsageType usageType)
Definition: ExternalAuthenticationService.java:280
String validateRedirectionUri(String clientIdentifier, String redirectionUri)
Definition: RedirectionUriService.java:50
String scope
Definition: AuthorizeAction.java:134
Set< String > checkScopesPolicy(Client client, String scope)
Definition: ScopeChecker.java:39
CustomScriptConfiguration determineCustomScriptConfiguration(AuthenticationScriptUsageType usageType, int authStep, String acr)
Definition: ExternalAuthenticationService.java:301
List< String > acrValuesList(String acrValues)
Definition: SessionIdService.java:759
ExternalConsentGatheringService externalConsentGatheringService
Definition: AuthorizeAction.java:95
ErrorResponseFactory errorResponseFactory
Definition: AuthorizeAction.java:77
String getName()
Definition: AuthenticationMode.java:24
ClientAuthorizations findClientAuthorizations(String userInum, String clientId, boolean persistInLdap)
Definition: ClientAuthorizationsService.java:68