Class TwitterIdentityProvider

java.lang.Object
org.keycloak.broker.provider.AbstractIdentityProvider<OAuth2IdentityProviderConfig>
org.keycloak.social.twitter.TwitterIdentityProvider
All Implemented Interfaces:
org.keycloak.broker.provider.ExchangeTokenToIdentityProviderToken, org.keycloak.broker.provider.IdentityProvider<OAuth2IdentityProviderConfig>, org.keycloak.broker.provider.UserAuthenticationIdentityProvider<OAuth2IdentityProviderConfig>, org.keycloak.broker.social.SocialIdentityProvider<OAuth2IdentityProviderConfig>, org.keycloak.provider.Provider

public class TwitterIdentityProvider extends org.keycloak.broker.provider.AbstractIdentityProvider<OAuth2IdentityProviderConfig> implements org.keycloak.broker.social.SocialIdentityProvider<OAuth2IdentityProviderConfig>, org.keycloak.broker.provider.ExchangeTokenToIdentityProviderToken
Author:
Stian Thorgersen
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    protected static class 
     

    Nested classes/interfaces inherited from interface org.keycloak.broker.provider.UserAuthenticationIdentityProvider

    org.keycloak.broker.provider.UserAuthenticationIdentityProvider.AuthenticationCallback
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected static final org.jboss.logging.Logger
     

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

    ACCOUNT_LINK_URL, BROKER_REGISTERED_NEW_USER, session, UPDATE_PROFILE_EMAIL_CHANGED, UPDATE_PROFILE_USERNAME_CHANGED

    Fields inherited from interface org.keycloak.broker.provider.UserAuthenticationIdentityProvider

    EXTERNAL_IDENTITY_PROVIDER, FEDERATED_ACCESS_TOKEN
  • Constructor Summary

    Constructors
    Constructor
    Description
    TwitterIdentityProvider(org.keycloak.models.KeycloakSession session, OAuth2IdentityProviderConfig config)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    authenticationFinished(org.keycloak.sessions.AuthenticationSessionModel authSession, org.keycloak.broker.provider.BrokeredIdentityContext context)
     
    protected static twitter4j.RequestToken
     
    callback(org.keycloak.models.RealmModel realm, org.keycloak.broker.provider.UserAuthenticationIdentityProvider.AuthenticationCallback callback, org.keycloak.events.EventBuilder event)
     
    jakarta.ws.rs.core.Response
    exchangeFromToken(jakarta.ws.rs.core.UriInfo uriInfo, org.keycloak.events.EventBuilder builder, org.keycloak.models.ClientModel authorizedClient, org.keycloak.models.UserSessionModel tokenUserSession, org.keycloak.models.UserModel tokenSubject, jakarta.ws.rs.core.MultivaluedMap<String,String> params)
     
    protected jakarta.ws.rs.core.Response
    exchangeSessionToken(jakarta.ws.rs.core.UriInfo uriInfo, org.keycloak.models.ClientModel authorizedClient, org.keycloak.models.UserSessionModel tokenUserSession, org.keycloak.models.UserModel tokenSubject)
     
    protected jakarta.ws.rs.core.Response
    exchangeStoredToken(jakarta.ws.rs.core.UriInfo uriInfo, org.keycloak.models.ClientModel authorizedClient, org.keycloak.models.UserSessionModel tokenUserSession, org.keycloak.models.UserModel tokenSubject)
     
    jakarta.ws.rs.core.Response
    performLogin(org.keycloak.broker.provider.AuthenticationRequest request)
     
    jakarta.ws.rs.core.Response
    retrieveToken(org.keycloak.models.KeycloakSession session, org.keycloak.models.FederatedIdentityModel identity)
     
    jakarta.ws.rs.core.Response
    retrieveToken(org.keycloak.models.KeycloakSession session, org.keycloak.models.FederatedIdentityModel identity, org.keycloak.models.UserSessionModel userSession, org.keycloak.models.UserModel user)
     

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

    backchannelLogout, buildTokenResponse, close, exchangeErrorResponse, exchangeNotLinked, exchangeNotLinkedNoStore, exchangeNotSupported, exchangeTokenExpired, exchangeUnsupportedRequiredType, getConfig, getFederatedAccessToken, getLinkingUrl, getMarshaller, importNewUser, keycloakInitiatedBrowserLogout, preprocessFederatedIdentity, setEmailVerified, updateBrokeredUser, updateEmail

    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.IdentityProvider

    export, getConfig, isMapperSupported, isType, reloadKeys

    Methods inherited from interface org.keycloak.provider.Provider

    close

    Methods inherited from interface org.keycloak.broker.provider.UserAuthenticationIdentityProvider

    backchannelLogout, getMarshaller, importNewUser, keycloakInitiatedBrowserLogout, preprocessFederatedIdentity, supportsLongStateParameter, updateBrokeredUser
  • Field Details

    • logger

      protected static final org.jboss.logging.Logger logger
  • Constructor Details

    • TwitterIdentityProvider

      public TwitterIdentityProvider(org.keycloak.models.KeycloakSession session, OAuth2IdentityProviderConfig config)
  • Method Details

    • callback

      public Object callback(org.keycloak.models.RealmModel realm, org.keycloak.broker.provider.UserAuthenticationIdentityProvider.AuthenticationCallback callback, org.keycloak.events.EventBuilder event)
      Specified by:
      callback in interface org.keycloak.broker.provider.UserAuthenticationIdentityProvider<OAuth2IdentityProviderConfig>
      Overrides:
      callback in class org.keycloak.broker.provider.AbstractIdentityProvider<OAuth2IdentityProviderConfig>
    • base64DecodeRequestToken

      protected static twitter4j.RequestToken base64DecodeRequestToken(String serialized) throws IOException, ClassNotFoundException
      Throws:
      IOException
      ClassNotFoundException
    • performLogin

      public jakarta.ws.rs.core.Response performLogin(org.keycloak.broker.provider.AuthenticationRequest request)
      Specified by:
      performLogin in interface org.keycloak.broker.provider.UserAuthenticationIdentityProvider<OAuth2IdentityProviderConfig>
      Overrides:
      performLogin in class org.keycloak.broker.provider.AbstractIdentityProvider<OAuth2IdentityProviderConfig>
    • exchangeFromToken

      public jakarta.ws.rs.core.Response exchangeFromToken(jakarta.ws.rs.core.UriInfo uriInfo, org.keycloak.events.EventBuilder builder, org.keycloak.models.ClientModel authorizedClient, org.keycloak.models.UserSessionModel tokenUserSession, org.keycloak.models.UserModel tokenSubject, jakarta.ws.rs.core.MultivaluedMap<String,String> params)
      Specified by:
      exchangeFromToken in interface org.keycloak.broker.provider.ExchangeTokenToIdentityProviderToken
    • exchangeStoredToken

      protected jakarta.ws.rs.core.Response exchangeStoredToken(jakarta.ws.rs.core.UriInfo uriInfo, org.keycloak.models.ClientModel authorizedClient, org.keycloak.models.UserSessionModel tokenUserSession, org.keycloak.models.UserModel tokenSubject)
    • exchangeSessionToken

      protected jakarta.ws.rs.core.Response exchangeSessionToken(jakarta.ws.rs.core.UriInfo uriInfo, org.keycloak.models.ClientModel authorizedClient, org.keycloak.models.UserSessionModel tokenUserSession, org.keycloak.models.UserModel tokenSubject)
    • retrieveToken

      public jakarta.ws.rs.core.Response retrieveToken(org.keycloak.models.KeycloakSession session, org.keycloak.models.FederatedIdentityModel identity)
      Specified by:
      retrieveToken in interface org.keycloak.broker.provider.UserAuthenticationIdentityProvider<OAuth2IdentityProviderConfig>
    • retrieveToken

      public jakarta.ws.rs.core.Response retrieveToken(org.keycloak.models.KeycloakSession session, org.keycloak.models.FederatedIdentityModel identity, org.keycloak.models.UserSessionModel userSession, org.keycloak.models.UserModel user)
      Specified by:
      retrieveToken in interface org.keycloak.broker.provider.UserAuthenticationIdentityProvider<OAuth2IdentityProviderConfig>
    • authenticationFinished

      public void authenticationFinished(org.keycloak.sessions.AuthenticationSessionModel authSession, org.keycloak.broker.provider.BrokeredIdentityContext context)
      Specified by:
      authenticationFinished in interface org.keycloak.broker.provider.UserAuthenticationIdentityProvider<OAuth2IdentityProviderConfig>
      Overrides:
      authenticationFinished in class org.keycloak.broker.provider.AbstractIdentityProvider<OAuth2IdentityProviderConfig>