Class JPAOAuthDataProvider
java.lang.Object
org.apache.cxf.rs.security.oauth2.provider.AbstractOAuthDataProvider
org.apache.cxf.rs.security.oauth2.provider.JPAOAuthDataProvider
- All Implemented Interfaces:
ClientRegistrationProvider,OAuthDataProvider
- Direct Known Subclasses:
JPACodeDataProvider
Provides a Jpa BMT implementation for OAuthDataProvider.
If your application runs in a container and if you want to use
container managed persistence, you'll have to override
the following methods :
-
Nested Class Summary
Nested Classes -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected jakarta.persistence.EntityTransactionbeginIfNeeded(jakarta.persistence.EntityManager em) Begins the current transaction.protected voidcloseIfNeeded(jakarta.persistence.EntityManager em) Closes the current em.protected voidcommitIfNeeded(jakarta.persistence.EntityManager em) Commits the current transaction.protected ServerAccessTokendoGetClient(String clientId) protected voidprotected voidprotected voidprotected <T> Texecute(JPAOAuthDataProvider.EntityManagerOperation<T> operation) protected <T> Tprotected voidflushIfNeeded(jakarta.persistence.EntityManager em) Flush the current transaction.getAccessToken(String accessToken) Get access tokengetAccessTokens(Client c, UserSubject sub) Return all access tokens associated with a given clientgetClients(UserSubject resourceOwner) Get a list of clients registered by a resource owner.protected jakarta.persistence.TypedQuery<Client>getClientsQuery(UserSubject resourceOwnerSubject, jakarta.persistence.EntityManager entityManager) protected jakarta.persistence.EntityManagerReturns the entityManaged used for the current operation.protected RefreshTokengetRefreshToken(String refreshTokenKey) getRefreshTokens(Client c, UserSubject sub) Return all refresh tokens associated with a given clientprotected jakarta.persistence.TypedQuery<RefreshToken>getRefreshTokensQuery(Client c, UserSubject resourceOwnerSubject, jakarta.persistence.EntityManager entityManager) protected jakarta.persistence.TypedQuery<BearerAccessToken>getTokensQuery(Client c, UserSubject resourceOwnerSubject, jakarta.persistence.EntityManager entityManager) protected voidprotected voidpersistEntity(Object entity) protected voidremoveEntity(Object entity) protected voidsaveAccessToken(ServerAccessToken serverToken) protected voidsaveRefreshToken(RefreshToken refreshToken) voidSet a ClientvoidsetEntityManagerFactory(jakarta.persistence.EntityManagerFactory emf) Methods inherited from class org.apache.cxf.rs.security.oauth2.provider.AbstractOAuthDataProvider
authenticateUnregisteredClient, checkRequestedScopes, close, convertScopeToPermissions, convertSingleScopeToPermission, convertToJWTAccessToken, createAccessToken, createClientCredentialsClient, createJwtAccessToken, createNewAccessToken, createNewRefreshToken, doCreateAccessToken, doCreateNewRefreshToken, doRefreshAccessToken, getClient, getCurrentClientSecret, getCurrentRequestedGrantType, getCurrentTokenRequestParams, getDefaultScopes, getInvisibleToClientScopes, getIssuer, getJwtAccessTokenClaimMap, getJwtAccessTokenProducer, getMessageContext, getPermissionMap, getPreauthorizedToken, getRequiredScopes, handleLinkedRefreshToken, init, isClientMatched, isPersistJwtEncoding, isRecycleRefreshTokens, isRefreshTokenSupported, isSupportPreauthorizedTokens, isTokenMatched, isUseJwtFormatForAccessTokens, linkAccessTokenToRefreshToken, processJwtAccessToken, refreshAccessToken, removeClient, removeClientTokens, revokeAccessToken, revokeAccessTokens, revokeRefreshToken, revokeToken, setAccessTokenLifetime, setAuthenticationStrategy, setClients, setDefaultScopes, setInvisibleToClientScopes, setIssuer, setJwtAccessTokenClaimMap, setJwtAccessTokenProducer, setMessageContext, setPermissionMap, setPersistJwtEncoding, setRecycleRefreshTokens, setRefreshTokenLifetime, setRequiredScopes, setSupportedScopes, setSupportPreauthorizedTokens, setUseJwtFormatForAccessTokens, unlinkRefreshAccessToken, updateExistingRefreshToken, updateRefreshToken
-
Constructor Details
-
JPAOAuthDataProvider
public JPAOAuthDataProvider()
-
-
Method Details
-
setEntityManagerFactory
public void setEntityManagerFactory(jakarta.persistence.EntityManagerFactory emf) -
doGetClient
- Specified by:
doGetClientin classAbstractOAuthDataProvider- Throws:
OAuthServiceException
-
execute
-
executeInTransaction
-
setClient
Description copied from interface:ClientRegistrationProviderSet a Client- Parameters:
client- the client
-
doRemoveClient
- Specified by:
doRemoveClientin classAbstractOAuthDataProvider
-
getClients
Description copied from interface:ClientRegistrationProviderGet a list of clients registered by a resource owner.- Parameters:
resourceOwner- the resource owner, can be null- Returns:
- the list of clients
-
getAccessTokens
Description copied from interface:OAuthDataProviderReturn all access tokens associated with a given client- Parameters:
c- the clientsub- the user subject, can be null- Returns:
- list of access tokens
-
getRefreshTokens
Description copied from interface:OAuthDataProviderReturn all refresh tokens associated with a given client- Parameters:
c- the clientsub- the user subject, can be null- Returns:
- list of refresh tokens
-
getAccessToken
Description copied from interface:OAuthDataProviderGet access token- Parameters:
accessToken- the token key- Returns:
- AccessToken
- Throws:
OAuthServiceException
-
doRevokeAccessToken
- Specified by:
doRevokeAccessTokenin classAbstractOAuthDataProvider
-
linkRefreshTokenToAccessToken
- Overrides:
linkRefreshTokenToAccessTokenin classAbstractOAuthDataProvider
-
getRefreshToken
- Specified by:
getRefreshTokenin classAbstractOAuthDataProvider
-
doRevokeRefreshToken
- Specified by:
doRevokeRefreshTokenin classAbstractOAuthDataProvider
-
doCreateAccessToken
- Overrides:
doCreateAccessTokenin classAbstractOAuthDataProvider
-
saveAccessToken
- Specified by:
saveAccessTokenin classAbstractOAuthDataProvider
-
saveRefreshToken
- Specified by:
saveRefreshTokenin classAbstractOAuthDataProvider
-
persistEntity
-
removeEntity
-
getClientsQuery
protected jakarta.persistence.TypedQuery<Client> getClientsQuery(UserSubject resourceOwnerSubject, jakarta.persistence.EntityManager entityManager) -
getTokensQuery
protected jakarta.persistence.TypedQuery<BearerAccessToken> getTokensQuery(Client c, UserSubject resourceOwnerSubject, jakarta.persistence.EntityManager entityManager) -
getRefreshTokensQuery
protected jakarta.persistence.TypedQuery<RefreshToken> getRefreshTokensQuery(Client c, UserSubject resourceOwnerSubject, jakarta.persistence.EntityManager entityManager) -
getEntityManager
protected jakarta.persistence.EntityManager getEntityManager()Returns the entityManaged used for the current operation. -
beginIfNeeded
protected jakarta.persistence.EntityTransaction beginIfNeeded(jakarta.persistence.EntityManager em) Begins the current transaction. This method needs to be overridden in a CMT environment. -
flushIfNeeded
protected void flushIfNeeded(jakarta.persistence.EntityManager em) Flush the current transaction. -
commitIfNeeded
protected void commitIfNeeded(jakarta.persistence.EntityManager em) Commits the current transaction. This method needs to be overridden in a CMT environment. -
closeIfNeeded
protected void closeIfNeeded(jakarta.persistence.EntityManager em) Closes the current em. This method needs to be overriden in a CMT environment.
-