Class AccessTokenIntrospectionProvider<T extends org.keycloak.representations.AccessToken>

java.lang.Object
org.keycloak.protocol.oidc.AccessTokenIntrospectionProvider<T>
All Implemented Interfaces:
org.keycloak.protocol.oidc.TokenIntrospectionProvider, org.keycloak.provider.Provider
Direct Known Subclasses:
RefreshTokenIntrospectionProvider, RPTIntrospectionProvider

public class AccessTokenIntrospectionProvider<T extends org.keycloak.representations.AccessToken> extends Object implements org.keycloak.protocol.oidc.TokenIntrospectionProvider
Author:
Pedro Igor
  • Field Details

    • session

      protected final org.keycloak.models.KeycloakSession session
    • tokenManager

      protected final TokenManager tokenManager
    • realm

      protected final org.keycloak.models.RealmModel realm
    • eventBuilder

      protected org.keycloak.events.EventBuilder eventBuilder
    • token

      protected T extends org.keycloak.representations.AccessToken token
    • transformedToken

      protected org.keycloak.representations.AccessToken transformedToken
    • client

      protected org.keycloak.models.ClientModel client
    • userSession

      protected org.keycloak.models.UserSessionModel userSession
    • user

      protected org.keycloak.models.UserModel user
  • Constructor Details

    • AccessTokenIntrospectionProvider

      public AccessTokenIntrospectionProvider(org.keycloak.models.KeycloakSession session)
  • Method Details

    • introspect

      public jakarta.ws.rs.core.Response introspect(String tokenStr, org.keycloak.events.EventBuilder eventBuilder)
      Specified by:
      introspect in interface org.keycloak.protocol.oidc.TokenIntrospectionProvider
    • transformAccessToken

      public org.keycloak.representations.AccessToken transformAccessToken(org.keycloak.representations.AccessToken token, org.keycloak.models.UserSessionModel userSession)
    • introspectionChecks

      protected boolean introspectionChecks(String tokenStr)
      Performs introspection checks related to token, client, userSession, user etc. If some of the checks failed, this method is supposed to already set an error event. If all the checks are successful, the instance variables are supposed to be set
      Returns:
      true just if all the checks are working
    • verifyToken

      protected boolean verifyToken(String tokenStr)
    • getTokenClass

      protected Class<T> getTokenClass()
    • verifyClient

      protected boolean verifyClient()
    • verifyAudience

      protected boolean verifyAudience()
    • verifyUserSession

      protected UserSessionUtil.UserSessionValidationResult verifyUserSession()
    • verifyTokenReuse

      protected boolean verifyTokenReuse()
    • close

      public void close()
      Specified by:
      close in interface org.keycloak.provider.Provider