gluu
公開メンバ関数 | 限定公開メンバ関数 | 関数 | 非公開メンバ関数 | 静的非公開変数類 | 全メンバ一覧
org.xdi.oxd.server.op.GetTokensByCodeOperation クラス
org.xdi.oxd.server.op.GetTokensByCodeOperation の継承関係図
Inheritance graph
org.xdi.oxd.server.op.GetTokensByCodeOperation 連携図
Collaboration graph

公開メンバ関数

CommandResponse execute (GetTokensByCodeParams params) throws Exception
 
Class< T > getParameterClass ()
 
getParams ()
 
Injector getInjector ()
 
HttpService getHttpService ()
 
IntrospectionService getIntrospectionService ()
 
PublicOpKeyService getKeyService ()
 
StateService getStateService ()
 
LicenseService getLicenseService ()
 
DiscoveryService getDiscoveryService ()
 
UmaTokenService getUmaTokenService ()
 
RpService getRpService ()
 
ConfigurationService getConfigurationService ()
 
OxAuthCryptoProvider getCryptoProvider () throws Exception
 
Rp getRp ()
 
ValidationService getValidationService ()
 
Command getCommand ()
 
CommandResponse okResponse (IOpResponse p_data)
 

限定公開メンバ関数

 GetTokensByCodeOperation (Command command, final Injector injector)
 

関数

public< T > T getInstance (Class< T > type)
 

非公開メンバ関数

void validate (GetTokensByCodeParams params)
 

静的非公開変数類

static final Logger LOG = LoggerFactory.getLogger(GetTokensByCodeOperation.class)
 

詳解

著者
Yuriy Zabrovarnyy
バージョン
0.9, 22/09/2015

構築子と解体子

◆ GetTokensByCodeOperation()

org.xdi.oxd.server.op.GetTokensByCodeOperation.GetTokensByCodeOperation ( Command  command,
final Injector  injector 
)
inlineprotected

Base constructor

引数
commandcommand
37  {
38  super(command, injector, GetTokensByCodeParams.class);
39  }
final Command command
Definition: BaseOperation.java:37
final Injector injector
Definition: BaseOperation.java:38

関数詳解

◆ execute()

CommandResponse org.xdi.oxd.server.op.GetTokensByCodeOperation.execute ( GetTokensByCodeParams  params) throws Exception
inline
42  {
44 
45  final Rp site = getRp();
46  OpenIdConfigurationResponse discoveryResponse = getDiscoveryService().getConnectDiscoveryResponse(site);
47 
48  final TokenRequest tokenRequest = new TokenRequest(GrantType.AUTHORIZATION_CODE);
49  tokenRequest.setCode(params.getCode());
50  tokenRequest.setRedirectUri(site.getAuthorizationRedirectUri());
51  tokenRequest.setAuthUsername(site.getClientId());
52  tokenRequest.setAuthPassword(site.getClientSecret());
54 
55 
56  final TokenClient tokenClient = new TokenClient(discoveryResponse.getTokenEndpoint());
57  tokenClient.setExecutor(getHttpService().getClientExecutor());
58  tokenClient.setRequest(tokenRequest);
59  final TokenResponse response = tokenClient.exec();
60  ClientUtils.showClient(tokenClient);
61 
62  if (response.getStatus() == 200 || response.getStatus() == 302) { // success or redirect
63 
64  if (Strings.isNullOrEmpty(response.getIdToken())) {
65  LOG.error("id_token is not returned. Please check whether 'openid' scope is present for 'get_authorization_url' command");
66  throw new ErrorResponseException(ErrorResponseCode.NO_ID_TOKEN_RETURNED);
67  }
68 
69  if (Strings.isNullOrEmpty(response.getAccessToken())) {
70  LOG.error("access_token is not returned");
71  throw new ErrorResponseException(ErrorResponseCode.NO_ACCESS_TOKEN_RETURNED);
72  }
73 
74  final Jwt idToken = Jwt.parse(response.getIdToken());
75 
76  final Validator validator = new Validator(idToken, discoveryResponse, getKeyService());
77  validator.validateNonce(getStateService());
78  validator.validateIdToken(site.getClientId());
79  validator.validateAccessToken(response.getAccessToken());
80 
81  // persist tokens
82  site.setIdToken(response.getIdToken());
83  site.setAccessToken(response.getAccessToken());
84  getRpService().update(site);
86 
87  LOG.trace("Scope: " + response.getScope());
88 
89  final Map<String, List<String>> claims = idToken.getClaims() != null ? idToken.getClaims().toMap() : new HashMap<String, List<String>>();
90 
91  final GetTokensByCodeResponse opResponse = new GetTokensByCodeResponse();
92  opResponse.setAccessToken(response.getAccessToken());
93  opResponse.setIdToken(response.getIdToken());
94  opResponse.setRefreshToken(response.getRefreshToken());
95  opResponse.setExpiresIn(response.getExpiresIn());
96  opResponse.setIdTokenClaims(claims);
97  return okResponse(opResponse);
98  } else {
99  LOG.error("Failed to get tokens because response code is: " + response.getScope());
100  }
101  return null;
102  }
static final Logger LOG
Definition: GetTokensByCodeOperation.java:30
Definition: ClientUtils.java:17
CLIENT_SECRET_BASIC
Definition: AuthenticationMethod.java:18
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
String getScope()
Definition: TokenResponse.java:163
HttpService getHttpService()
Definition: BaseOperation.java:72
CommandResponse okResponse(IOpResponse p_data)
Definition: BaseOperation.java:145
DiscoveryService getDiscoveryService()
Definition: BaseOperation.java:96
Definition: GrantType.java:23
static void showClient(BaseClient client)
Definition: ClientUtils.java:21
JwtClaims getClaims()
Definition: JsonWebResponse.java:41
Definition: TokenRequest.java:34
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
void setExecutor(ClientExecutor executor)
Definition: BaseClient.java:84
Integer getExpiresIn()
Definition: TokenResponse.java:125
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getAccessToken()
Definition: TokenResponse.java:89
void validate(GetTokensByCodeParams params)
Definition: GetTokensByCodeOperation.java:104
String getIdToken()
Definition: TokenResponse.java:181
RpService getRpService()
Definition: BaseOperation.java:104
StateService getStateService()
Definition: BaseOperation.java:88
String getTokenEndpoint()
Definition: OpenIdConfigurationResponse.java:192
Definition: TokenResponse.java:22
TokenResponse exec()
Definition: TokenClient.java:218
Definition: Jwt.java:24
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
Map< String, List< String > > toMap()
Definition: JwtClaimSet.java:299
final T params
Definition: BaseOperation.java:40
void setCode(String code)
Definition: TokenRequest.java:143
void update(Rp rp)
Definition: RpService.java:121
Definition: AuthenticationMethod.java:12
static Jwt parse(String encodedJwt)
Definition: Jwt.java:54
String getRefreshToken()
Definition: TokenResponse.java:144
Definition: OpenIdConfigurationResponse.java:26
void invalidateState(String state)
Definition: StateService.java:62
PublicOpKeyService getKeyService()
Definition: BaseOperation.java:80

◆ getCommand()

Command org.xdi.oxd.server.op.BaseOperation< T extends IParams >.getCommand ( )
inlineinherited

Returns command

戻り値
command
135  {
136  return command;
137  }
final Command command
Definition: BaseOperation.java:37

◆ getConfigurationService()

ConfigurationService org.xdi.oxd.server.op.BaseOperation< T extends IParams >.getConfigurationService ( )
inlineinherited
108  {
109  return getInstance(ConfigurationService.class);
110  }
Definition: ConfigurationService.java:17
public< T > T getInstance(Class< T > type)
Definition: BaseOperation.java:84

◆ getCryptoProvider()

OxAuthCryptoProvider org.xdi.oxd.server.op.BaseOperation< T extends IParams >.getCryptoProvider ( ) throws Exception
inlineinherited
112  {
114  return new OxAuthCryptoProvider(conf.getCryptProviderKeyStorePath(), conf.getCryptProviderKeyStorePassword(), conf.getCryptProviderDnName());
115  }
Definition: OxdServerConfiguration.java:9
ConfigurationService getConfigurationService()
Definition: BaseOperation.java:108
String getCryptProviderDnName()
Definition: OxdServerConfiguration.java:94
String getCryptProviderKeyStorePassword()
Definition: OxdServerConfiguration.java:86
String getCryptProviderKeyStorePath()
Definition: OxdServerConfiguration.java:78
OxdServerConfiguration get()
Definition: ConfigurationService.java:54

◆ getDiscoveryService()

DiscoveryService org.xdi.oxd.server.op.BaseOperation< T extends IParams >.getDiscoveryService ( )
inlineinherited
96  {
97  return getInstance(DiscoveryService.class);
98  }
Definition: DiscoveryService.java:24
public< T > T getInstance(Class< T > type)
Definition: BaseOperation.java:84

◆ getHttpService()

HttpService org.xdi.oxd.server.op.BaseOperation< T extends IParams >.getHttpService ( )
inlineinherited
72  {
73  return getInstance(HttpService.class);
74  }
Definition: HttpService.java:23
public< T > T getInstance(Class< T > type)
Definition: BaseOperation.java:84

◆ getInjector()

Injector org.xdi.oxd.server.op.BaseOperation< T extends IParams >.getInjector ( )
inlineinherited

Gets injector.

戻り値
injector
68  {
69  return injector;
70  }
final Injector injector
Definition: BaseOperation.java:38

◆ getInstance()

public<T> T org.xdi.oxd.server.op.BaseOperation< T extends IParams >.getInstance ( Class< T >  type)
inlinepackageinherited
84  {
85  return injector.getInstance(type);
86  }
final Injector injector
Definition: BaseOperation.java:38

◆ getIntrospectionService()

IntrospectionService org.xdi.oxd.server.op.BaseOperation< T extends IParams >.getIntrospectionService ( )
inlineinherited
76  {
77  return getInstance(IntrospectionService.class);
78  }
Definition: IntrospectionService.java:22
public< T > T getInstance(Class< T > type)
Definition: BaseOperation.java:84

◆ getKeyService()

PublicOpKeyService org.xdi.oxd.server.op.BaseOperation< T extends IParams >.getKeyService ( )
inlineinherited
80  {
81  return getInstance(PublicOpKeyService.class);
82  }
Definition: PublicOpKeyService.java:22
public< T > T getInstance(Class< T > type)
Definition: BaseOperation.java:84

◆ getLicenseService()

LicenseService org.xdi.oxd.server.op.BaseOperation< T extends IParams >.getLicenseService ( )
inlineinherited
92  {
93  return getInstance(LicenseService.class);
94  }
public< T > T getInstance(Class< T > type)
Definition: BaseOperation.java:84

◆ getParameterClass()

Class<T> org.xdi.oxd.server.op.BaseOperation< T extends IParams >.getParameterClass ( )
inlineinherited
55  {
56  return parameterClass;
57  }
final Class< T > parameterClass
Definition: BaseOperation.java:39

◆ getParams()

T org.xdi.oxd.server.op.BaseOperation< T extends IParams >.getParams ( )
inlineinherited
59  {
60  return params;
61  }
final T params
Definition: BaseOperation.java:40

◆ getRp()

Rp org.xdi.oxd.server.op.BaseOperation< T extends IParams >.getRp ( )
inlineinherited
117  {
118  if (params instanceof HasOxdIdParams) {
119  getValidationService().validate((HasOxdIdParams) params);
120  HasOxdIdParams hasOxdId = (HasOxdIdParams) params;
121  return getRpService().getRp(hasOxdId.getOxdId());
122  }
124  }
Definition: ErrorResponseException.java:8
ValidationService getValidationService()
Definition: BaseOperation.java:126
Pair< Rp, Boolean > validate(IParams params)
Definition: ValidationService.java:41
RpService getRpService()
Definition: BaseOperation.java:104
Definition: ErrorResponseCode.java:18
Rp getRp(String oxdId)
Definition: RpService.java:55
final T params
Definition: BaseOperation.java:40
BAD_REQUEST_NO_OXD_ID
Definition: ErrorResponseCode.java:22

◆ getRpService()

RpService org.xdi.oxd.server.op.BaseOperation< T extends IParams >.getRpService ( )
inlineinherited
104  {
105  return getInstance(RpService.class);
106  }
Definition: RpService.java:23
public< T > T getInstance(Class< T > type)
Definition: BaseOperation.java:84

◆ getStateService()

StateService org.xdi.oxd.server.op.BaseOperation< T extends IParams >.getStateService ( )
inlineinherited
88  {
89  return getInstance(StateService.class);
90  }
Definition: StateService.java:19
public< T > T getInstance(Class< T > type)
Definition: BaseOperation.java:84

◆ getUmaTokenService()

UmaTokenService org.xdi.oxd.server.op.BaseOperation< T extends IParams >.getUmaTokenService ( )
inlineinherited
100  {
101  return getInstance(UmaTokenService.class);
102  }
Definition: UmaTokenService.java:42
public< T > T getInstance(Class< T > type)
Definition: BaseOperation.java:84

◆ getValidationService()

ValidationService org.xdi.oxd.server.op.BaseOperation< T extends IParams >.getValidationService ( )
inlineinherited
126  {
127  return getInstance(ValidationService.class);
128  }
Definition: ValidationService.java:19
public< T > T getInstance(Class< T > type)
Definition: BaseOperation.java:84

◆ okResponse()

CommandResponse org.xdi.oxd.server.op.BaseOperation< T extends IParams >.okResponse ( IOpResponse  p_data)
inlineinherited

Ok response for operation

引数
p_dataresponse
戻り値
ok response with data
145  {
146  if (p_data == null) {
147  return CommandResponse.createInternalError();
148  }
149  return CommandResponse.ok().setData(new POJONode(p_data));
150  }

◆ validate()

void org.xdi.oxd.server.op.GetTokensByCodeOperation.validate ( GetTokensByCodeParams  params)
inlineprivate
104  {
105  if (Strings.isNullOrEmpty(params.getCode())) {
106  throw new ErrorResponseException(ErrorResponseCode.BAD_REQUEST_NO_CODE);
107  }
108  if (Strings.isNullOrEmpty(params.getState())) {
109  throw new ErrorResponseException(ErrorResponseCode.BAD_REQUEST_NO_STATE);
110  }
111  if (!getStateService().isStateValid(params.getState())) {
112  throw new ErrorResponseException(ErrorResponseCode.BAD_REQUEST_STATE_NOT_VALID);
113  }
114  }
StateService getStateService()
Definition: BaseOperation.java:88
final T params
Definition: BaseOperation.java:40

メンバ詳解

◆ LOG

final Logger org.xdi.oxd.server.op.GetTokensByCodeOperation.LOG = LoggerFactory.getLogger(GetTokensByCodeOperation.class)
staticprivate

このクラス詳解は次のファイルから抽出されました: