keycloak
公開メンバ関数 | 限定公開変数類 | 全メンバ一覧
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  }
EventBuilder event
Definition: AbstractOAuth2IdentityProvider.java:385
AuthenticationCallback callback
Definition: AbstractOAuth2IdentityProvider.java:383
RealmModel realm
Definition: AbstractOAuth2IdentityProvider.java:384

関数詳解

◆ 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  }
AbstractOAuth2IdentityProvider(KeycloakSession session, C config)
Definition: AbstractOAuth2IdentityProvider.java:96
C getConfig()
Definition: AbstractOAuth2IdentityProvider.java:126
String asString()
Definition: SimpleHttp.java:154
static final Logger logger
Definition: AbstractOAuth2IdentityProvider.java:75
BrokeredIdentityContext getFederatedIdentity(String response)
Definition: AbstractOAuth2IdentityProvider.java:281
SimpleHttp generateTokenRequest(String authorizationCode)
Definition: AbstractOAuth2IdentityProvider.java:446
static final String ACCESS_DENIED
Definition: AbstractOAuth2IdentityProvider.java:82
KeycloakSession session
Definition: AbstractOAuth2IdentityProvider.java:388
AuthenticationCallback callback
Definition: AbstractOAuth2IdentityProvider.java:383

◆ 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())
453  }
static final String OAUTH2_PARAMETER_CLIENT_ID
Definition: AbstractOAuth2IdentityProvider.java:91
C getConfig()
Definition: AbstractOAuth2IdentityProvider.java:126
static final String OAUTH2_PARAMETER_CLIENT_SECRET
Definition: AbstractOAuth2IdentityProvider.java:92
static final String OAUTH2_PARAMETER_REDIRECT_URI
Definition: AbstractOAuth2IdentityProvider.java:89
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_GRANT_TYPE
Definition: AbstractOAuth2IdentityProvider.java:93
KeycloakSession session
Definition: AbstractOAuth2IdentityProvider.java:388
URI getAbsolutePath()
Definition: KeycloakUriInfo.java:66

メンバ詳解

◆ callback

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

◆ clientConnection

◆ event

◆ headers

◆ realm

◆ session


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