Package org.pac4j.oauth.profile.creator
Class OAuth20ProfileCreator
- java.lang.Object
-
- org.pac4j.oauth.profile.creator.OAuth20ProfileCreator
-
- All Implemented Interfaces:
org.pac4j.core.profile.creator.ProfileCreator
- Direct Known Subclasses:
CronofyProfileCreator
,DropBoxProfileCreator
,FacebookProfileCreator
,FigShareProfileCreator
,FoursquareProfileCreator
,LinkedIn2ProfileCreator
,QQProfileCreator
,WechatProfileCreator
public class OAuth20ProfileCreator extends java.lang.Object
OAuth 2.0 profile creator.- Since:
- 2.0.0
- Author:
- Jerome Leleu
-
-
Field Summary
Fields Modifier and Type Field Description protected org.pac4j.core.client.IndirectClient
client
protected OAuthConfiguration
configuration
protected org.slf4j.Logger
logger
protected static com.fasterxml.jackson.databind.ObjectMapper
mapper
-
Constructor Summary
Constructors Constructor Description OAuth20ProfileCreator(OAuth20Configuration configuration, org.pac4j.core.client.IndirectClient client)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addTokenToProfile(org.pac4j.core.profile.UserProfile profile, com.github.scribejava.core.model.Token token)
Add the access token to the profile (as an attribute).java.util.Optional<org.pac4j.core.profile.UserProfile>
create(org.pac4j.core.credentials.Credentials credentials, org.pac4j.core.context.WebContext context, org.pac4j.core.context.session.SessionStore sessionStore)
protected com.github.scribejava.core.model.OAuthRequest
createOAuthRequest(java.lang.String url, com.github.scribejava.core.model.Verb verb)
Create an OAuth request.protected com.github.scribejava.core.model.OAuth2AccessToken
getAccessToken(org.pac4j.core.credentials.Credentials credentials)
Get the access token from OAuth credentials.protected java.util.Optional<org.pac4j.core.profile.UserProfile>
retrieveUserProfileFromToken(org.pac4j.core.context.WebContext context, com.github.scribejava.core.model.Token accessToken)
Retrieve the user profile from the access token.protected java.lang.String
sendRequestForData(com.github.scribejava.core.oauth.OAuthService service, com.github.scribejava.core.model.Token accessToken, java.lang.String dataUrl, com.github.scribejava.core.model.Verb verb)
Make a request to get the data of the authenticated user for the provider.protected void
signRequest(com.github.scribejava.core.oauth.OAuthService service, com.github.scribejava.core.model.Token token, com.github.scribejava.core.model.OAuthRequest request)
Sign the request.
-
-
-
Field Detail
-
logger
protected final org.slf4j.Logger logger
-
mapper
protected static final com.fasterxml.jackson.databind.ObjectMapper mapper
-
configuration
protected OAuthConfiguration configuration
-
client
protected org.pac4j.core.client.IndirectClient client
-
-
Constructor Detail
-
OAuth20ProfileCreator
public OAuth20ProfileCreator(OAuth20Configuration configuration, org.pac4j.core.client.IndirectClient client)
-
-
Method Detail
-
getAccessToken
protected com.github.scribejava.core.model.OAuth2AccessToken getAccessToken(org.pac4j.core.credentials.Credentials credentials)
Get the access token from OAuth credentials.- Parameters:
credentials
- credentials- Returns:
- the access token
-
addTokenToProfile
protected void addTokenToProfile(org.pac4j.core.profile.UserProfile profile, com.github.scribejava.core.model.Token token)
Add the access token to the profile (as an attribute).- Parameters:
profile
- the user profiletoken
- the access token
-
signRequest
protected void signRequest(com.github.scribejava.core.oauth.OAuthService service, com.github.scribejava.core.model.Token token, com.github.scribejava.core.model.OAuthRequest request)
Sign the request.- Parameters:
service
- the servicetoken
- the tokenrequest
- the request
-
create
public java.util.Optional<org.pac4j.core.profile.UserProfile> create(org.pac4j.core.credentials.Credentials credentials, org.pac4j.core.context.WebContext context, org.pac4j.core.context.session.SessionStore sessionStore)
- Specified by:
create
in interfaceorg.pac4j.core.profile.creator.ProfileCreator
-
retrieveUserProfileFromToken
protected java.util.Optional<org.pac4j.core.profile.UserProfile> retrieveUserProfileFromToken(org.pac4j.core.context.WebContext context, com.github.scribejava.core.model.Token accessToken)
Retrieve the user profile from the access token.- Parameters:
context
- the web contextaccessToken
- the access token- Returns:
- the user profile
-
sendRequestForData
protected java.lang.String sendRequestForData(com.github.scribejava.core.oauth.OAuthService service, com.github.scribejava.core.model.Token accessToken, java.lang.String dataUrl, com.github.scribejava.core.model.Verb verb)
Make a request to get the data of the authenticated user for the provider.- Parameters:
service
- the OAuth serviceaccessToken
- the access tokendataUrl
- url of the dataverb
- method used to request data- Returns:
- the user data response
-
createOAuthRequest
protected com.github.scribejava.core.model.OAuthRequest createOAuthRequest(java.lang.String url, com.github.scribejava.core.model.Verb verb)
Create an OAuth request.- Parameters:
url
- the url to callverb
- method used to create the request- Returns:
- the request
-
-