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

公開メンバ関数

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

限定公開メンバ関数

 AuthorizationCodeFlowOperation (Command command, final Injector injector)
 

関数

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

非公開メンバ関数

AuthorizationCodeFlowResponse requestToken (OpenIdConfigurationResponse discovery, AuthorizationCodeFlowParams params)
 

静的非公開メンバ関数

static List< String > acrValues (String acr)
 

静的非公開変数類

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

詳解

著者
Yuriy Zabrovarnyy
バージョン
0.9, 19/06/2015

構築子と解体子

◆ AuthorizationCodeFlowOperation()

org.xdi.oxd.server.op.AuthorizationCodeFlowOperation.AuthorizationCodeFlowOperation ( Command  command,
final Injector  injector 
)
inlineprotected
36  {
37  super(command, injector, AuthorizationCodeFlowParams.class);
38  }
final Command command
Definition: BaseOperation.java:37
final Injector injector
Definition: BaseOperation.java:38

関数詳解

◆ acrValues()

static List<String> org.xdi.oxd.server.op.AuthorizationCodeFlowOperation.acrValues ( String  acr)
inlinestaticprivate
112  {
113  List<String> acrValues = Lists.newArrayList();
114  if (StringUtils.isNotBlank(acr)) {
115  final String[] split = StringUtils.split(acr, " ");
116  if (split != null) {
117  acrValues.addAll(Arrays.asList(split));
118  }
119  }
120  return acrValues;
121  }
static List< String > acrValues(String acr)
Definition: AuthorizationCodeFlowOperation.java:112

◆ execute()

CommandResponse org.xdi.oxd.server.op.AuthorizationCodeFlowOperation.execute ( AuthorizationCodeFlowParams  params)
inline
41  {
42  final OpenIdConfigurationResponse discovery = getDiscoveryService().getConnectDiscoveryResponseByOxdId(params.getOxdId());
43  if (discovery != null) {
44  return okResponse(requestToken(discovery, params));
45  }
46 
47  return null;
48  }
CommandResponse okResponse(IOpResponse p_data)
Definition: BaseOperation.java:145
DiscoveryService getDiscoveryService()
Definition: BaseOperation.java:96
AuthorizationCodeFlowResponse requestToken(OpenIdConfigurationResponse discovery, AuthorizationCodeFlowParams params)
Definition: AuthorizationCodeFlowOperation.java:50
Definition: OpenIdConfigurationResponse.java:26

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

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

◆ requestToken()

AuthorizationCodeFlowResponse org.xdi.oxd.server.op.AuthorizationCodeFlowOperation.requestToken ( OpenIdConfigurationResponse  discovery,
AuthorizationCodeFlowParams  params 
)
inlineprivate
50  {
51  // 1. Request authorization and receive the authorization code.
52  final List<ResponseType> responseTypes = new ArrayList<ResponseType>();
53  responseTypes.add(ResponseType.CODE);
54  responseTypes.add(ResponseType.ID_TOKEN);
55  final List<String> scopes = new ArrayList<String>();
56  scopes.add(params.getScope());
57 
58  String nonce = params.getNonce();
59  final AuthorizationRequest request = new AuthorizationRequest(responseTypes, params.getClientId(), scopes, params.getRedirectUrl(), nonce);
60  request.setState("af0ifjsldkj");
61  request.setAuthUsername(params.getUserId());
62  request.setAuthPassword(params.getUserSecret());
63  request.getPrompts().add(Prompt.NONE);
64  request.setNonce(UUID.randomUUID().toString());
65  request.setAcrValues(acrValues(params.getAcr()));
66 
67  final AuthorizeClient authorizeClient = new AuthorizeClient(discovery.getAuthorizationEndpoint());
68  authorizeClient.setRequest(request);
69  authorizeClient.setExecutor(getHttpService().getClientExecutor());
70  final AuthorizationResponse response1 = authorizeClient.exec();
71 
72  ClientUtils.showClient(authorizeClient);
73 
74  final String scope = response1.getScope();
75  final String authorizationCode = response1.getCode();
76 
77  if (Util.allNotBlank(authorizationCode)) {
78 
79  // 2. Request access token using the authorization code.
80  final TokenRequest tokenRequest = new TokenRequest(GrantType.AUTHORIZATION_CODE);
81  tokenRequest.setCode(authorizationCode);
82  tokenRequest.setRedirectUri(params.getRedirectUrl());
83  tokenRequest.setAuthUsername(params.getClientId());
84  tokenRequest.setAuthPassword(params.getClientSecret());
86  tokenRequest.setScope(scope);
87 
88  final TokenClient tokenClient1 = new TokenClient(discovery.getTokenEndpoint());
89  tokenClient1.setExecutor(getHttpService().getClientExecutor());
90  tokenClient1.setRequest(tokenRequest);
91  final TokenResponse response2 = tokenClient1.exec();
92  ClientUtils.showClient(tokenClient1);
93 
94  if (response2.getStatus() == 200 || response2.getStatus() == 302) { // success or redirect
95  if (Util.allNotBlank(response2.getAccessToken(), response2.getRefreshToken())) {
96  final AuthorizationCodeFlowResponse opResponse = new AuthorizationCodeFlowResponse();
97  opResponse.setAccessToken(response2.getAccessToken());
98  opResponse.setIdToken(response2.getIdToken());
99  opResponse.setRefreshToken(response2.getRefreshToken());
100  opResponse.setAuthorizationCode(authorizationCode);
101  opResponse.setScope(scope);
102  opResponse.setExpiresIn(response2.getExpiresIn());
103  return opResponse;
104  }
105  }
106  } else {
107  LOG.debug("Authorization code is blank.");
108  }
109  return null;
110  }
ID_TOKEN
Definition: ResponseType.java:47
CODE
Definition: ResponseType.java:39
Definition: ClientUtils.java:17
void setScope(String scope)
Definition: TokenRequest.java:233
CLIENT_SECRET_BASIC
Definition: AuthenticationMethod.java:18
void setNonce(String nonce)
Definition: AuthorizationRequest.java:245
String getCode()
Definition: AuthorizationResponse.java:167
Definition: TokenClient.java:24
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
List< Prompt > getPrompts()
Definition: AuthorizationRequest.java:275
HttpService getHttpService()
Definition: BaseOperation.java:72
AuthorizationResponse exec()
Definition: AuthorizeClient.java:167
static final Logger LOG
Definition: AuthorizationCodeFlowOperation.java:34
Definition: GrantType.java:23
static void showClient(BaseClient client)
Definition: ClientUtils.java:21
Definition: TokenRequest.java:34
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
Definition: AuthorizeClient.java:29
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
String getIdToken()
Definition: TokenResponse.java:181
NONE
Definition: Prompt.java:27
static boolean allNotBlank(String... p_strings)
Definition: Util.java:166
String getTokenEndpoint()
Definition: OpenIdConfigurationResponse.java:192
Definition: TokenResponse.java:22
TokenResponse exec()
Definition: TokenClient.java:218
void setRequest(T request)
Definition: BaseClient.java:68
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
Definition: AuthorizationResponse.java:32
String getAuthorizationEndpoint()
Definition: OpenIdConfigurationResponse.java:174
Definition: Prompt.java:18
String getScope()
Definition: AuthorizationResponse.java:277
void setCode(String code)
Definition: TokenRequest.java:143
Definition: AuthorizationRequest.java:33
Definition: ResponseType.java:34
void setState(String state)
Definition: AuthorizationRequest.java:217
Definition: Util.java:40
Definition: AuthenticationMethod.java:12
void setAcrValues(List< String > acrValues)
Definition: AuthorizationRequest.java:327
String getRefreshToken()
Definition: TokenResponse.java:144
static List< String > acrValues(String acr)
Definition: AuthorizationCodeFlowOperation.java:112

メンバ詳解

◆ LOG

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

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