org.keycloak.broker.oidc

## Class KeycloakOIDCIdentityProvider

- java.lang.Object
- - org.keycloak.broker.provider.AbstractIdentityProvider<C>
  - - org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider<OIDCIdentityProviderConfig>
    - - org.keycloak.broker.oidc.OIDCIdentityProvider
      - - org.keycloak.broker.oidc.KeycloakOIDCIdentityProvider

- All Implemented Interfaces:
    ExchangeExternalToken, ExchangeTokenToIdentityProviderToken, IdentityProvider<OIDCIdentityProviderConfig>, Provider

      public class KeycloakOIDCIdentityProvider
      extends OIDCIdentityProvider

  Version:
    $Revision: 1 $
  Author:
    Bill Burke

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `protected class` | `KeycloakOIDCIdentityProvider.KeycloakEndpoint`

    - ### Nested classes/interfaces inherited from class org.keycloak.broker.oidc.OIDCIdentityProvider

      `OIDCIdentityProvider.OIDCEndpoint`

    - ### Nested classes/interfaces inherited from class org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider

      `AbstractOAuth2IdentityProvider.Endpoint`

    - ### Nested classes/interfaces inherited from interface org.keycloak.broker.provider.IdentityProvider

      `IdentityProvider.AuthenticationCallback`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `VALIDATED_ACCESS_TOKEN`

    - ### Fields inherited from class org.keycloak.broker.oidc.OIDCIdentityProvider

      `ACCESS_TOKEN_EXPIRATION, EXCHANGE_PROVIDER, FEDERATED_ACCESS_TOKEN_RESPONSE, FEDERATED_ID_TOKEN, logger, SCOPE_OPENID, USER_INFO, VALIDATED_ID_TOKEN`

    - ### Fields inherited from class org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider

      `ACCESS_DENIED, FEDERATED_REFRESH_TOKEN, FEDERATED_TOKEN_EXPIRATION, mapper, OAUTH2_GRANT_TYPE_AUTHORIZATION_CODE, OAUTH2_GRANT_TYPE_REFRESH_TOKEN, OAUTH2_PARAMETER_ACCESS_TOKEN, OAUTH2_PARAMETER_CLIENT_ID, OAUTH2_PARAMETER_CLIENT_SECRET, OAUTH2_PARAMETER_CODE, OAUTH2_PARAMETER_GRANT_TYPE, OAUTH2_PARAMETER_REDIRECT_URI, OAUTH2_PARAMETER_RESPONSE_TYPE, OAUTH2_PARAMETER_SCOPE, OAUTH2_PARAMETER_STATE`

    - ### Fields inherited from class org.keycloak.broker.provider.AbstractIdentityProvider

      `ACCOUNT_LINK_URL, session`

    - ### Fields inherited from interface org.keycloak.broker.provider.IdentityProvider

      `EXTERNAL_IDENTITY_PROVIDER, FEDERATED_ACCESS_TOKEN`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `KeycloakOIDCIdentityProvider(KeycloakSession session, OIDCIdentityProviderConfig config)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `Object` | `callback(RealmModel realm, IdentityProvider.AuthenticationCallback callback, EventBuilder event)` JAXRS callback endpoint for when the remote IDP wants to callback to keycloak.
    `protected BrokeredIdentityContext` | `exchangeExternalImpl(EventBuilder event, javax.ws.rs.core.MultivaluedMap<String,String> params)`
    `protected void` | `processAccessTokenResponse(BrokeredIdentityContext context, AccessTokenResponse response)`

    - ### Methods inherited from class org.keycloak.broker.oidc.OIDCIdentityProvider

      `authenticationFinished, backchannelLogout, backchannelLogout, createAuthorizationUrl, exchangeSessionToken, exchangeStoredToken, extractIdentity, extractIdentityFromProfile, getDefaultScopes, getFederatedIdentity, getProfileEndpointForValidation, getRefreshTokenRequest, getUserInfoUrl, getusernameClaimNameForIdToken, getUsernameFromUserInfo, isIssuer, keycloakInitiatedBrowserLogout, preprocessFederatedIdentity, refreshTokenForLogout, supportsExternalExchange, validateJwt, validateToken, validateToken, verify`

    - ### Methods inherited from class org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider

      `asJsonNode, authenticateTokenRequest, buildUserInfoRequest, doGetFederatedIdentity, exchangeExternal, exchangeExternalComplete, exchangeExternalUserInfoValidationOnly, exchangeFromToken, extractTokenFromResponse, generateToken, getAccessTokenResponseParameter, getConfig, getJsonProperty, getSignatureContext, hasExternalExchangeToken, performLogin, retrieveToken, validateExternalTokenThroughUserInfo`

    - ### Methods inherited from class org.keycloak.broker.provider.AbstractIdentityProvider

      `close, exchangeErrorResponse, exchangeNotLinked, exchangeNotLinkedNoStore, exchangeNotSupported, exchangeTokenExpired, exchangeUnsupportedRequiredType, export, getLinkingUrl, getMarshaller, importNewUser, updateBrokeredUser`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.keycloak.broker.provider.ExchangeExternalToken

      `exchangeExternal, exchangeExternalComplete`

- - ### Field Detail

    - #### VALIDATED_ACCESS_TOKEN

          public static final String VALIDATED_ACCESS_TOKEN

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### KeycloakOIDCIdentityProvider

          public KeycloakOIDCIdentityProvider(KeycloakSession session,
                                              OIDCIdentityProviderConfig config)

  - ### Method Detail

    - #### callback

          public Object callback(RealmModel realm,
                                 IdentityProvider.AuthenticationCallback callback,
                                 EventBuilder event)

      Description copied from interface: `IdentityProvider`
      JAXRS callback endpoint for when the remote IDP wants to callback to keycloak.
      Specified by:
        `callback` in interface `IdentityProvider<OIDCIdentityProviderConfig>`
      Overrides:
        `callback` in class `OIDCIdentityProvider`
      Returns:

    - #### processAccessTokenResponse

          protected void processAccessTokenResponse(BrokeredIdentityContext context,
                                                    AccessTokenResponse response)

      Overrides:
        `processAccessTokenResponse` in class `OIDCIdentityProvider`

    - #### exchangeExternalImpl

          protected BrokeredIdentityContext exchangeExternalImpl(EventBuilder event,
                                                                 javax.ws.rs.core.MultivaluedMap<String,String> params)

      Overrides:
        `exchangeExternalImpl` in class `OIDCIdentityProvider`

Copyright © 2020 JBoss by Red Hat. All rights reserved.