gluu
公開メンバ関数 | 静的公開変数類 | 非公開メンバ関数 | 非公開変数類 | 全メンバ一覧
org.xdi.oxauth.service.AuthorizeService クラス
org.xdi.oxauth.service.AuthorizeService 連携図
Collaboration graph

公開メンバ関数

SessionId getSession ()
 
SessionId getSession (String sessionId)
 
void permissionGranted (HttpServletRequest httpRequest, final SessionId session)
 
void permissionDenied (final SessionId session)
 
List< org.xdi.oxauth.model.common.ScopegetScopes ()
 
List< ScopegetScopes (String scopes)
 

静的公開変数類

static final List< String > ALLOWED_PARAMETER
 

非公開メンバ関数

void authenticationFailedSessionInvalid ()
 

非公開変数類

Logger log
 
ClientService clientService
 
ErrorResponseFactory errorResponseFactory
 
SessionIdService sessionIdService
 
UserService userService
 
ClientAuthorizationsService clientAuthorizationsService
 
Identity identity
 
Authenticator authenticator
 
FacesService facesService
 
FacesMessages facesMessages
 
AppConfiguration appConfiguration
 
ScopeService scopeService
 
RequestParameterService requestParameterService
 

詳解

著者
Yuriy Movchan
Javier Rojas Blum
バージョン
January 17, 2018

関数詳解

◆ authenticationFailedSessionInvalid()

void org.xdi.oxauth.service.AuthorizeService.authenticationFailedSessionInvalid ( )
inlineprivate
208  {
209  facesMessages.add(FacesMessage.SEVERITY_ERROR, "login.errorSessionInvalidMessage");
210  facesService.redirect("/error.xhtml");
211  }
FacesService facesService
Definition: AuthorizeService.java:102
FacesMessages facesMessages
Definition: AuthorizeService.java:105

◆ getScopes() [1/2]

List<org.xdi.oxauth.model.common.Scope> org.xdi.oxauth.service.AuthorizeService.getScopes ( )
inline
213  {
214  SessionId session = getSession();
215  String scope = session.getSessionAttributes().get("scope");
216 
217  return getScopes(scope);
218 
219  }
SessionId getSession()
Definition: AuthorizeService.java:116
List< org.xdi.oxauth.model.common.Scope > getScopes()
Definition: AuthorizeService.java:213

◆ getScopes() [2/2]

List<Scope> org.xdi.oxauth.service.AuthorizeService.getScopes ( String  scopes)
inline
221  {
222  List<org.xdi.oxauth.model.common.Scope> result = new ArrayList<org.xdi.oxauth.model.common.Scope>();
223 
224  if (scopes != null && !scopes.isEmpty()) {
225  String[] scopesName = scopes.split(" ");
226  for (String scopeName : scopesName) {
228  if (s != null && s.getDescription() != null) {
229  result.add(s);
230  }
231  }
232  }
233 
234  return result;
235  }
org.xdi.oxauth.model.common.Scope getScopeByDisplayName(String displayName)
Definition: ScopeService.java:119
ScopeService scopeService
Definition: AuthorizeService.java:111
Definition: Scope.java:23
Definition: AuthenticationMethod.java:7

◆ getSession() [1/2]

SessionId org.xdi.oxauth.service.AuthorizeService.getSession ( )
inline
116  {
117  return getSession(null);
118  }
SessionId getSession()
Definition: AuthorizeService.java:116

◆ getSession() [2/2]

SessionId org.xdi.oxauth.service.AuthorizeService.getSession ( String  sessionId)
inline
120  {
121  if (StringUtils.isBlank(sessionId)) {
123  if (StringUtils.isBlank(sessionId)) {
124  return null;
125  }
126  }
127 
128  if (!identity.isLoggedIn()) {
130  }
131 
132  SessionId ldapSessionId = sessionIdService.getSessionId(sessionId);
133  if (ldapSessionId == null) {
134  identity.logout();
135  }
136 
137  return ldapSessionId;
138  }
SessionId getSessionId()
Definition: SessionIdService.java:360
boolean authenticateBySessionId(String p_sessionId)
Definition: Authenticator.java:651
Authenticator authenticator
Definition: AuthorizeService.java:99
Identity identity
Definition: AuthorizeService.java:96
String getSessionIdFromCookie(HttpServletRequest request)
Definition: SessionIdService.java:237
SessionIdService sessionIdService
Definition: AuthorizeService.java:87

◆ permissionDenied()

void org.xdi.oxauth.service.AuthorizeService.permissionDenied ( final SessionId  session)
inline
185  {
186  log.trace("permissionDenied");
187 
188  if (session == null) {
190  return;
191  }
192 
193  StringBuilder sb = new StringBuilder();
194  String redirectUri = session.getSessionAttributes().get(AuthorizeRequestParam.REDIRECT_URI);
195  String state = session.getSessionAttributes().get(AuthorizeRequestParam.STATE);
196 
197  sb.append(redirectUri);
198  if (redirectUri != null && redirectUri.contains("?")) {
199  sb.append("&");
200  } else {
201  sb.append("?");
202  }
203  sb.append(errorResponseFactory.getErrorAsQueryString(AuthorizeErrorResponseType.ACCESS_DENIED, state));
204 
205  facesService.redirectToExternalURL(sb.toString());
206  }
FacesService facesService
Definition: AuthorizeService.java:102
String getErrorAsQueryString(IErrorType p_type, String p_state)
Definition: ErrorResponseFactory.java:126
Logger log
Definition: AuthorizeService.java:78
void authenticationFailedSessionInvalid()
Definition: AuthorizeService.java:208
ErrorResponseFactory errorResponseFactory
Definition: AuthorizeService.java:84

◆ permissionGranted()

void org.xdi.oxauth.service.AuthorizeService.permissionGranted ( HttpServletRequest  httpRequest,
final SessionId  session 
)
inline
140  {
141  log.trace("permissionGranted");
142  try {
143  final User user = userService.getUserByDn(session.getUserDn());
144  if (user == null) {
145  log.error("Permission denied. Failed to find session user: userDn = " + session.getUserDn() + ".");
146  permissionDenied(session);
147  return;
148  }
149 
150  String clientId = session.getSessionAttributes().get(AuthorizeRequestParam.CLIENT_ID);
151  final Client client = clientService.getClient(clientId);
152 
153  String scope = session.getSessionAttributes().get(AuthorizeRequestParam.SCOPE);
154  String responseType = session.getSessionAttributes().get(AuthorizeRequestParam.RESPONSE_TYPE);
155 
156  boolean persistDuringImplicitFlow = ServerUtil.isFalse(appConfiguration.getUseCacheForAllImplicitFlowObjects()) || !ResponseType.isImplicitFlow(responseType);
157  if (!client.getTrustedClient() && persistDuringImplicitFlow) {
158  final Set<String> scopes = Sets.newHashSet(org.xdi.oxauth.model.util.StringUtils.spaceSeparatedToList(scope));
159  clientAuthorizationsService.add(user.getAttribute("inum"), client.getClientId(), scopes, client.getPersistClientAuthorizations());
160  }
161  session.addPermission(clientId, true);
163 
164  // OXAUTH-297 - set session_id cookie
165  sessionIdService.createSessionIdCookie(session.getId(), session.getSessionState(), false);
166 
167  Map<String, String> sessionAttribute = requestParameterService.getAllowedParameters(session.getSessionAttributes());
168 
169  if (sessionAttribute.containsKey(AuthorizeRequestParam.PROMPT)) {
170  List<Prompt> prompts = Prompt.fromString(sessionAttribute.get(AuthorizeRequestParam.PROMPT), " ");
171  prompts.remove(Prompt.CONSENT);
172  sessionAttribute.put(AuthorizeRequestParam.PROMPT, org.xdi.oxauth.model.util.StringUtils.implodeEnum(prompts, " "));
173  }
174 
175  final String parametersAsString = requestParameterService.parametersAsString(sessionAttribute);
176  final String uri = httpRequest.getContextPath() + "/restv1/authorize?" + parametersAsString;
177  log.trace("permissionGranted, redirectTo: {}", uri);
178 
179  facesService.redirectToExternalURL(uri);
180  } catch (UnsupportedEncodingException e) {
181  log.trace(e.getMessage(), e);
182  }
183  }
UserService userService
Definition: AuthorizeService.java:90
FacesService facesService
Definition: AuthorizeService.java:102
RequestParameterService requestParameterService
Definition: AuthorizeService.java:114
void permissionDenied(final SessionId session)
Definition: AuthorizeService.java:185
void add(String userInum, String clientId, Set< String > scopes, boolean persistInLdap)
Definition: ClientAuthorizationsService.java:97
Logger log
Definition: AuthorizeService.java:78
static String implodeEnum(List<? extends HasParamName > inputList, String glueString)
Definition: StringUtils.java:97
AppConfiguration appConfiguration
Definition: AuthorizeService.java:108
Definition: Base64Util.java:7
Map< String, String > getAllowedParameters(@Nonnull final Map< String, String > requestParameterMap)
Definition: RequestParameterService.java:81
ClientAuthorizationsService clientAuthorizationsService
Definition: AuthorizeService.java:93
Boolean getUseCacheForAllImplicitFlowObjects()
Definition: AppConfiguration.java:952
String parametersAsString(final Map< String, String > parameterMap)
Definition: RequestParameterService.java:120
Definition: StringUtils.java:24
ClientService clientService
Definition: AuthorizeService.java:81
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
static List< String > spaceSeparatedToList(String spaceSeparatedString)
Definition: StringUtils.java:115
User getUserByDn(String dn, String... returnAttributes)
Definition: UserService.java:66
SessionIdService sessionIdService
Definition: AuthorizeService.java:87

メンバ詳解

◆ ALLOWED_PARAMETER

final List<String> org.xdi.oxauth.service.AuthorizeService.ALLOWED_PARAMETER
static
初期値:
= Collections.unmodifiableList(Arrays.asList(
AuthorizeRequestParam.SCOPE,
AuthorizeRequestParam.RESPONSE_TYPE,
AuthorizeRequestParam.CLIENT_ID,
AuthorizeRequestParam.REDIRECT_URI,
AuthorizeRequestParam.STATE,
AuthorizeRequestParam.RESPONSE_MODE,
AuthorizeRequestParam.NONCE,
AuthorizeRequestParam.DISPLAY,
AuthorizeRequestParam.PROMPT,
AuthorizeRequestParam.MAX_AGE,
AuthorizeRequestParam.UI_LOCALES,
AuthorizeRequestParam.ID_TOKEN_HINT,
AuthorizeRequestParam.LOGIN_HINT,
AuthorizeRequestParam.ACR_VALUES,
AuthorizeRequestParam.SESSION_ID,
AuthorizeRequestParam.REQUEST,
AuthorizeRequestParam.REQUEST_URI,
AuthorizeRequestParam.ORIGIN_HEADERS,
AuthorizeRequestParam.CODE_CHALLENGE,
AuthorizeRequestParam.CODE_CHALLENGE_METHOD,
AuthorizeRequestParam.CUSTOM_RESPONSE_HEADERS,
AuthorizeRequestParam.CLAIMS))

◆ appConfiguration

AppConfiguration org.xdi.oxauth.service.AuthorizeService.appConfiguration
private

◆ authenticator

Authenticator org.xdi.oxauth.service.AuthorizeService.authenticator
private

◆ clientAuthorizationsService

ClientAuthorizationsService org.xdi.oxauth.service.AuthorizeService.clientAuthorizationsService
private

◆ clientService

ClientService org.xdi.oxauth.service.AuthorizeService.clientService
private

◆ errorResponseFactory

ErrorResponseFactory org.xdi.oxauth.service.AuthorizeService.errorResponseFactory
private

◆ facesMessages

FacesMessages org.xdi.oxauth.service.AuthorizeService.facesMessages
private

◆ facesService

FacesService org.xdi.oxauth.service.AuthorizeService.facesService
private

◆ identity

Identity org.xdi.oxauth.service.AuthorizeService.identity
private

◆ log

Logger org.xdi.oxauth.service.AuthorizeService.log
private

◆ requestParameterService

RequestParameterService org.xdi.oxauth.service.AuthorizeService.requestParameterService
private

◆ scopeService

ScopeService org.xdi.oxauth.service.AuthorizeService.scopeService
private

◆ sessionIdService

SessionIdService org.xdi.oxauth.service.AuthorizeService.sessionIdService
private

◆ userService

UserService org.xdi.oxauth.service.AuthorizeService.userService
private

このクラス詳解は次のファイルから抽出されました: