keycloak-service
公開メンバ関数 | 限定公開変数類 | 全メンバ一覧
org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider< C extends OAuth2IdentityProviderConfig >.Endpoint クラス
org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider< C extends OAuth2IdentityProviderConfig >.Endpoint 連携図
Collaboration graph

公開メンバ関数

 Endpoint (AuthenticationCallback callback, RealmModel realm, EventBuilder event)
 
Response authResponse (@QueryParam(AbstractOAuth2IdentityProvider.OAUTH2_PARAMETER_STATE) String state, @QueryParam(AbstractOAuth2IdentityProvider.OAUTH2_PARAMETER_CODE) String authorizationCode, @QueryParam(OAuth2Constants.ERROR) String error)
 
SimpleHttp generateTokenRequest (String authorizationCode)
 

限定公開変数類

AuthenticationCallback callback
 
RealmModel realm
 
EventBuilder event
 
KeycloakSession session
 
ClientConnection clientConnection
 
HttpHeaders headers
 

詳解

構築子と解体子

◆ Endpoint()

org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider< C extends OAuth2IdentityProviderConfig >.Endpoint.Endpoint ( AuthenticationCallback  callback,
RealmModel  realm,
EventBuilder  event 
)
inline
396  {
397  this.callback = callback;
398  this.realm = realm;
399  this.event = event;
400  }
RealmModel realm
Definition: AbstractOAuth2IdentityProvider.java:384
AuthenticationCallback callback
Definition: AbstractOAuth2IdentityProvider.java:383
EventBuilder event
Definition: AbstractOAuth2IdentityProvider.java:385

関数詳解

◆ authResponse()

Response org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider< C extends OAuth2IdentityProviderConfig >.Endpoint.authResponse ( @QueryParam(AbstractOAuth2IdentityProvider.OAUTH2_PARAMETER_STATE) String  state,
@QueryParam(AbstractOAuth2IdentityProvider.OAUTH2_PARAMETER_CODE) String  authorizationCode,
@QueryParam(OAuth2Constants.ERROR) String  error 
)
inline
405  {
406  if (error != null) {
407  //logger.error("Failed " + getConfig().getAlias() + " broker login: " + error);
408  if (error.equals(ACCESS_DENIED)) {
409  logger.error(ACCESS_DENIED + " for broker login " + getConfig().getProviderId());
410  return callback.cancelled(state);
411  } else {
412  logger.error(error + " for broker login " + getConfig().getProviderId());
413  return callback.error(state, Messages.IDENTITY_PROVIDER_UNEXPECTED_ERROR);
414  }
415  }
416 
417  try {
418 
419  if (authorizationCode != null) {
420  String response = generateTokenRequest(authorizationCode).asString();
421 
422  BrokeredIdentityContext federatedIdentity = getFederatedIdentity(response);
423 
424  if (getConfig().isStoreToken()) {
425  // make sure that token wasn't already set by getFederatedIdentity();
426  // want to be able to allow provider to set the token itself.
427  if (federatedIdentity.getToken() == null)federatedIdentity.setToken(response);
428  }
429 
430  federatedIdentity.setIdpConfig(getConfig());
431  federatedIdentity.setIdp(AbstractOAuth2IdentityProvider.this);
432  federatedIdentity.setCode(state);
433 
434  return callback.authenticated(federatedIdentity);
435  }
436  } catch (WebApplicationException e) {
437  return e.getResponse();
438  } catch (Exception e) {
439  logger.error("Failed to make identity provider oauth callback", e);
440  }
441  event.event(EventType.LOGIN);
442  event.error(Errors.IDENTITY_PROVIDER_LOGIN_FAILURE);
443  return ErrorPage.error(session, null, Response.Status.BAD_GATEWAY, Messages.IDENTITY_PROVIDER_UNEXPECTED_ERROR);
444  }
AuthenticationCallback callback
Definition: AbstractOAuth2IdentityProvider.java:383
C getConfig()
Definition: AbstractOAuth2IdentityProvider.java:126
AbstractOAuth2IdentityProvider(KeycloakSession session, C config)
Definition: AbstractOAuth2IdentityProvider.java:96
static final Logger logger
Definition: AbstractOAuth2IdentityProvider.java:75
static final String ACCESS_DENIED
Definition: AbstractOAuth2IdentityProvider.java:82
KeycloakSession session
Definition: AbstractOAuth2IdentityProvider.java:388
BrokeredIdentityContext getFederatedIdentity(String response)
Definition: AbstractOAuth2IdentityProvider.java:281
SimpleHttp generateTokenRequest(String authorizationCode)
Definition: AbstractOAuth2IdentityProvider.java:446

◆ generateTokenRequest()

SimpleHttp org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider< C extends OAuth2IdentityProviderConfig >.Endpoint.generateTokenRequest ( String  authorizationCode)
inline
446  {
447  return SimpleHttp.doPost(getConfig().getTokenUrl(), session)
448  .param(OAUTH2_PARAMETER_CODE, authorizationCode)
449  .param(OAUTH2_PARAMETER_CLIENT_ID, getConfig().getClientId())
450  .param(OAUTH2_PARAMETER_CLIENT_SECRET, getConfig().getClientSecret())
451  .param(OAUTH2_PARAMETER_REDIRECT_URI, session.getContext().getUri().getAbsolutePath().toString())
453  }
C getConfig()
Definition: AbstractOAuth2IdentityProvider.java:126
static final String OAUTH2_PARAMETER_GRANT_TYPE
Definition: AbstractOAuth2IdentityProvider.java:93
static final String OAUTH2_GRANT_TYPE_AUTHORIZATION_CODE
Definition: AbstractOAuth2IdentityProvider.java:78
static final String OAUTH2_PARAMETER_CODE
Definition: AbstractOAuth2IdentityProvider.java:90
static final String OAUTH2_PARAMETER_CLIENT_ID
Definition: AbstractOAuth2IdentityProvider.java:91
KeycloakSession session
Definition: AbstractOAuth2IdentityProvider.java:388
static final String OAUTH2_PARAMETER_REDIRECT_URI
Definition: AbstractOAuth2IdentityProvider.java:89
static final String OAUTH2_PARAMETER_CLIENT_SECRET
Definition: AbstractOAuth2IdentityProvider.java:92

メンバ詳解

◆ callback

AuthenticationCallback org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider< C extends OAuth2IdentityProviderConfig >.Endpoint.callback
protected

◆ clientConnection

ClientConnection org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider< C extends OAuth2IdentityProviderConfig >.Endpoint.clientConnection
protected

◆ event

◆ headers

◆ realm

◆ session

KeycloakSession org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider< C extends OAuth2IdentityProviderConfig >.Endpoint.session
protected

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