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

公開メンバ関数

CommandResponse execute (CheckAccessTokenParams 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)
 

限定公開メンバ関数

 CheckAccessTokenOperation (Command command, final Injector injector)
 

関数

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

非公開メンバ関数

boolean isAccessTokenValid (String p_accessToken, Jwt jwt, OpenIdConfigurationResponse discoveryResponse)
 

静的非公開変数類

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

詳解

著者
Yuriy Zabrovarnyy
バージョン
0.9, 23/10/2013

構築子と解体子

◆ CheckAccessTokenOperation()

org.xdi.oxd.server.op.CheckAccessTokenOperation.CheckAccessTokenOperation ( Command  command,
final Injector  injector 
)
inlineprotected
33  {
34  super(command, injector, CheckAccessTokenParams.class);
35  }
final Command command
Definition: BaseOperation.java:37
final Injector injector
Definition: BaseOperation.java:38

関数詳解

◆ execute()

CommandResponse org.xdi.oxd.server.op.CheckAccessTokenOperation.execute ( CheckAccessTokenParams  params) throws Exception
inline
38  {
39  final OpenIdConfigurationResponse discoveryResponse = getDiscoveryService().getConnectDiscoveryResponseByOxdId(params.getOxdId());
40  final String idToken = params.getIdToken();
41  final String accessToken = params.getAccessToken();
42 
43  final Jwt jwt = Jwt.parse(idToken);
44 
45  final Date issuedAt = jwt.getClaims().getClaimAsDate(JwtClaimName.ISSUED_AT);
46  final Date expiresAt = jwt.getClaims().getClaimAsDate(JwtClaimName.EXPIRATION_TIME);
47 
48  final CheckAccessTokenResponse opResponse = new CheckAccessTokenResponse();
49  opResponse.setActive(isAccessTokenValid(accessToken, jwt, discoveryResponse));
50  opResponse.setIssuedAt(issuedAt);
51  opResponse.setExpiresAt(expiresAt);
52  return okResponse(opResponse);
53  }
boolean isAccessTokenValid(String p_accessToken, Jwt jwt, OpenIdConfigurationResponse discoveryResponse)
Definition: CheckAccessTokenOperation.java:55
CommandResponse okResponse(IOpResponse p_data)
Definition: BaseOperation.java:145
DiscoveryService getDiscoveryService()
Definition: BaseOperation.java:96
final T params
Definition: BaseOperation.java:40

◆ 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

◆ isAccessTokenValid()

boolean org.xdi.oxd.server.op.CheckAccessTokenOperation.isAccessTokenValid ( String  p_accessToken,
Jwt  jwt,
OpenIdConfigurationResponse  discoveryResponse 
)
inlineprivate
55  {
56  try {
57  // final String type = jwt.getHeader().getClaimAsString(JwtHeaderName.TYPE);
58  final String algorithm = jwt.getHeader().getClaimAsString(JwtHeaderName.ALGORITHM);
59  final String jwkUrl = discoveryResponse.getJwksUri();
60  final String kid = jwt.getHeader().getClaimAsString(JwtHeaderName.KEY_ID);
61 
62  final SignatureAlgorithm signatureAlgorithm = SignatureAlgorithm.fromString(algorithm);
63 
64  final RSAPublicKey publicKey = JwkClient.getRSAPublicKey(jwkUrl, kid);
65  final RSASigner rsaSigner = new RSASigner(signatureAlgorithm, publicKey);
66  return rsaSigner.validateAccessToken(p_accessToken, jwt);
67  } catch (Exception e) {
68  LOG.error(e.getMessage(), e);
69  return false;
70  }
71  }
static final Logger LOG
Definition: CheckAccessTokenOperation.java:31

◆ 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  }

メンバ詳解

◆ LOG

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

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