Class OIDCIdentityProvider

    • Constructor Detail

      • OIDCIdentityProvider

        public OIDCIdentityProvider​(org.keycloak.models.KeycloakSession session,
                                    OIDCIdentityProviderConfig config)
    • Method Detail

      • refreshTokenForLogout

        public String refreshTokenForLogout​(org.keycloak.models.KeycloakSession session,
                                            org.keycloak.models.UserSessionModel userSession)
        Returns access token response as a string from a refresh token invocation on the remote OIDC broker
        Parameters:
        session -
        userSession -
        Returns:
      • backchannelLogout

        public void backchannelLogout​(org.keycloak.models.KeycloakSession session,
                                      org.keycloak.models.UserSessionModel userSession,
                                      javax.ws.rs.core.UriInfo uriInfo,
                                      org.keycloak.models.RealmModel realm)
        Specified by:
        backchannelLogout in interface org.keycloak.broker.provider.IdentityProvider<OIDCIdentityProviderConfig>
        Overrides:
        backchannelLogout in class org.keycloak.broker.provider.AbstractIdentityProvider<OIDCIdentityProviderConfig>
      • backchannelLogout

        protected void backchannelLogout​(org.keycloak.models.UserSessionModel userSession,
                                         String idToken)
      • keycloakInitiatedBrowserLogout

        public javax.ws.rs.core.Response keycloakInitiatedBrowserLogout​(org.keycloak.models.KeycloakSession session,
                                                                        org.keycloak.models.UserSessionModel userSession,
                                                                        javax.ws.rs.core.UriInfo uriInfo,
                                                                        org.keycloak.models.RealmModel realm)
        Specified by:
        keycloakInitiatedBrowserLogout in interface org.keycloak.broker.provider.IdentityProvider<OIDCIdentityProviderConfig>
        Overrides:
        keycloakInitiatedBrowserLogout in class org.keycloak.broker.provider.AbstractIdentityProvider<OIDCIdentityProviderConfig>
      • exchangeStoredToken

        protected javax.ws.rs.core.Response exchangeStoredToken​(javax.ws.rs.core.UriInfo uriInfo,
                                                                org.keycloak.events.EventBuilder event,
                                                                org.keycloak.models.ClientModel authorizedClient,
                                                                org.keycloak.models.UserSessionModel tokenUserSession,
                                                                org.keycloak.models.UserModel tokenSubject)
        Overrides:
        exchangeStoredToken in class AbstractOAuth2IdentityProvider<OIDCIdentityProviderConfig>
      • processAccessTokenResponse

        protected void processAccessTokenResponse​(org.keycloak.broker.provider.BrokeredIdentityContext context,
                                                  org.keycloak.representations.AccessTokenResponse response)
      • getRefreshTokenRequest

        protected org.keycloak.broker.provider.util.SimpleHttp getRefreshTokenRequest​(org.keycloak.models.KeycloakSession session,
                                                                                      String refreshToken,
                                                                                      String clientId,
                                                                                      String clientSecret)
      • exchangeSessionToken

        protected javax.ws.rs.core.Response exchangeSessionToken​(javax.ws.rs.core.UriInfo uriInfo,
                                                                 org.keycloak.events.EventBuilder event,
                                                                 org.keycloak.models.ClientModel authorizedClient,
                                                                 org.keycloak.models.UserSessionModel tokenUserSession,
                                                                 org.keycloak.models.UserModel tokenSubject)
        Overrides:
        exchangeSessionToken in class AbstractOAuth2IdentityProvider<OIDCIdentityProviderConfig>
      • isAuthTimeExpired

        protected boolean isAuthTimeExpired​(org.keycloak.representations.JsonWebToken idToken,
                                            org.keycloak.sessions.AuthenticationSessionModel authSession)
      • extractIdentity

        protected org.keycloak.broker.provider.BrokeredIdentityContext extractIdentity​(org.keycloak.representations.AccessTokenResponse tokenResponse,
                                                                                       String accessToken,
                                                                                       org.keycloak.representations.JsonWebToken idToken)
                                                                                throws IOException
        Throws:
        IOException
      • getusernameClaimNameForIdToken

        protected String getusernameClaimNameForIdToken()
      • getUserInfoUrl

        protected String getUserInfoUrl()
      • verify

        protected boolean verify​(org.keycloak.jose.jws.JWSInput jws)
      • validateToken

        public org.keycloak.representations.JsonWebToken validateToken​(String encodedToken)
      • validateToken

        protected org.keycloak.representations.JsonWebToken validateToken​(String encodedToken,
                                                                          boolean ignoreAudience)
      • getUsernameFromUserInfo

        protected String getUsernameFromUserInfo​(com.fasterxml.jackson.databind.JsonNode userInfo)
      • validateJwt

        protected final org.keycloak.broker.provider.BrokeredIdentityContext validateJwt​(org.keycloak.events.EventBuilder event,
                                                                                         String subjectToken,
                                                                                         String subjectTokenType)
      • preprocessFederatedIdentity

        public void preprocessFederatedIdentity​(org.keycloak.models.KeycloakSession session,
                                                org.keycloak.models.RealmModel realm,
                                                org.keycloak.broker.provider.BrokeredIdentityContext context)
        Specified by:
        preprocessFederatedIdentity in interface org.keycloak.broker.provider.IdentityProvider<OIDCIdentityProviderConfig>
        Overrides:
        preprocessFederatedIdentity in class org.keycloak.broker.provider.AbstractIdentityProvider<OIDCIdentityProviderConfig>