gluu
静的公開メンバ関数 | 静的非公開メンバ関数 | 全メンバ一覧
org.xdi.oxauth.client.uma.wrapper.UmaClient クラス
org.xdi.oxauth.client.uma.wrapper.UmaClient 連携図
Collaboration graph

静的公開メンバ関数

static Token requestPat (final String tokenUrl, final String clientKeyStoreFile, final String clientKeyStorePassword, final String clientId, final String keyId) throws UmaException
 
static Token requestPat (final String authorizeUrl, final String tokenUrl, final String umaUserId, final String umaUserSecret, final String umaClientId, final String umaClientSecret, final String umaRedirectUri, String... scopeArray) throws Exception
 
static Token requestPat (final String tokenUrl, final String umaClientId, final String umaClientSecret, String... scopeArray) throws Exception
 
static Token requestPat (final String tokenUrl, final String umaClientId, final String umaClientSecret, ClientExecutor clientExecutor, String... scopeArray) throws Exception
 
static Token request (final String authorizeUrl, final String tokenUrl, final String umaUserId, final String umaUserSecret, final String umaClientId, final String umaClientSecret, final String umaRedirectUri, UmaScopeType p_type, String... scopeArray) throws Exception
 
static Token request (final String tokenUrl, final String umaClientId, final String umaClientSecret, UmaScopeType scopeType, ClientExecutor clientExecutor, String... scopeArray) throws Exception
 
static Token requestWithClientSecretJwt (final String tokenUrl, final String umaClientId, final String umaClientSecret, AuthenticationMethod authenticationMethod, SignatureAlgorithm signatureAlgorithm, String audience, UmaScopeType scopeType, String... scopeArray) throws Exception
 
static Token request (final String tokenUrl, final TokenRequest tokenRequest) throws Exception
 

静的非公開メンバ関数

static Token request (final String tokenUrl, final String clientKeyStoreFile, final String clientKeyStorePassword, final String clientId, final String keyId, TokenRequest tokenRequest) throws UmaException
 

詳解

著者
Yuriy Zabrovarnyy

関数詳解

◆ request() [1/4]

static Token org.xdi.oxauth.client.uma.wrapper.UmaClient.request ( final String  authorizeUrl,
final String  tokenUrl,
final String  umaUserId,
final String  umaUserSecret,
final String  umaClientId,
final String  umaClientSecret,
final String  umaRedirectUri,
UmaScopeType  p_type,
String...  scopeArray 
) throws Exception
inlinestatic
60  {
61  // 1. Request authorization and receive the authorization code.
62  List<ResponseType> responseTypes = new ArrayList<ResponseType>();
63  responseTypes.add(ResponseType.CODE);
64  responseTypes.add(ResponseType.ID_TOKEN);
65 
66  List<String> scopes = new ArrayList<String>();
67  scopes.add(p_type.getValue());
68  if (scopeArray != null && scopeArray.length > 0) {
69  scopes.addAll(Arrays.asList(scopeArray));
70  }
71 
72  String state = UUID.randomUUID().toString();
73 
74  AuthorizationRequest request = new AuthorizationRequest(responseTypes, umaClientId, scopes, umaRedirectUri, null);
75  request.setState(state);
76  request.setAuthUsername(umaUserId);
77  request.setAuthPassword(umaUserSecret);
78  request.getPrompts().add(Prompt.NONE);
79 
80  AuthorizeClient authorizeClient = new AuthorizeClient(authorizeUrl);
81  authorizeClient.setRequest(request);
82  AuthorizationResponse response1 = authorizeClient.exec();
83 
84  String scope = response1.getScope();
85  String authorizationCode = response1.getCode();
86 
87  if (Util.allNotBlank(authorizationCode)) {
88 
89  // 2. Request access token using the authorization code.
91  tokenRequest.setCode(authorizationCode);
92  tokenRequest.setRedirectUri(umaRedirectUri);
93  tokenRequest.setAuthUsername(umaClientId);
94  tokenRequest.setAuthPassword(umaClientSecret);
96  tokenRequest.setScope(scope);
97 
98  TokenClient tokenClient1 = new TokenClient(tokenUrl);
99  tokenClient1.setRequest(tokenRequest);
100  TokenResponse response2 = tokenClient1.exec();
101 
102  if (response2.getStatus() == 200) {
103  final String patToken = response2.getAccessToken();
104  final String patRefreshToken = response2.getRefreshToken();
105  final Integer expiresIn = response2.getExpiresIn();
106  if (Util.allNotBlank(patToken, patRefreshToken)) {
107  return new Token(authorizationCode, patRefreshToken, patToken, scope, expiresIn);
108  }
109  }
110  }
111 
112  return null;
113  }
ID_TOKEN
Definition: ResponseType.java:47
CODE
Definition: ResponseType.java:39
void setScope(String scope)
Definition: TokenRequest.java:233
CLIENT_SECRET_BASIC
Definition: AuthenticationMethod.java:18
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
String getValue()
Definition: UmaScopeType.java:35
AuthorizationResponse exec()
Definition: AuthorizeClient.java:167
Definition: GrantType.java:23
Definition: TokenRequest.java:34
static Token request(final String authorizeUrl, final String tokenUrl, final String umaUserId, final String umaUserSecret, final String umaClientId, final String umaClientSecret, final String umaRedirectUri, UmaScopeType p_type, String... scopeArray)
Definition: UmaClient.java:57
void setRedirectUri(String redirectUri)
Definition: TokenRequest.java:179
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
Definition: AuthorizeClient.java:29
Integer getExpiresIn()
Definition: TokenResponse.java:125
AUTHORIZATION_CODE
Definition: GrantType.java:33
String getAccessToken()
Definition: TokenResponse.java:89
NONE
Definition: Prompt.java:27
static boolean allNotBlank(String... p_strings)
Definition: Util.java:166
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
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
String getRefreshToken()
Definition: TokenResponse.java:144

◆ request() [2/4]

static Token org.xdi.oxauth.client.uma.wrapper.UmaClient.request ( final String  tokenUrl,
final String  umaClientId,
final String  umaClientSecret,
UmaScopeType  scopeType,
ClientExecutor  clientExecutor,
String...  scopeArray 
) throws Exception
inlinestatic
116  {
117 
118  String scope = scopeType.getValue();
119  if (scopeArray != null && scopeArray.length > 0) {
120  for (String s : scopeArray) {
121  scope = scope + " " + s;
122  }
123  }
124 
125  TokenClient tokenClient = new TokenClient(tokenUrl);
126  if (clientExecutor != null) {
127  tokenClient.setExecutor(clientExecutor);
128  }
129  TokenResponse response = tokenClient.execClientCredentialsGrant(scope, umaClientId, umaClientSecret);
130 
131  if (response.getStatus() == 200) {
132  final String patToken = response.getAccessToken();
133  final Integer expiresIn = response.getExpiresIn();
134  if (Util.allNotBlank(patToken)) {
135  return new Token(null, null, patToken, scopeType.getValue(), expiresIn);
136  }
137  }
138 
139  return null;
140  }
Definition: TokenClient.java:24
String getValue()
Definition: UmaScopeType.java:35
TokenResponse execClientCredentialsGrant(String scope, String clientId, String clientSecret)
Definition: TokenClient.java:146
void setExecutor(ClientExecutor executor)
Definition: BaseClient.java:84
Integer getExpiresIn()
Definition: TokenResponse.java:125
String getAccessToken()
Definition: TokenResponse.java:89
static boolean allNotBlank(String... p_strings)
Definition: Util.java:166
Definition: TokenResponse.java:22
Definition: Util.java:40

◆ request() [3/4]

static Token org.xdi.oxauth.client.uma.wrapper.UmaClient.request ( final String  tokenUrl,
final TokenRequest  tokenRequest 
) throws Exception
inlinestatic
169  {
170  if (tokenRequest.getGrantType() != GrantType.CLIENT_CREDENTIALS) {
171  return null;
172  }
173 
174  TokenClient tokenClient = new TokenClient(tokenUrl);
175 
176  tokenClient.setRequest(tokenRequest);
177 
178  TokenResponse response = tokenClient.exec();
179 
180  if (response.getStatus() == 200) {
181  final String patToken = response.getAccessToken();
182  final Integer expiresIn = response.getExpiresIn();
183  if (Util.allNotBlank(patToken)) {
184  return new Token(null, null, patToken, response.getScope(), expiresIn);
185  }
186  }
187 
188  return null;
189  }
Definition: TokenClient.java:24
String getScope()
Definition: TokenResponse.java:163
Definition: GrantType.java:23
Integer getExpiresIn()
Definition: TokenResponse.java:125
String getAccessToken()
Definition: TokenResponse.java:89
static boolean allNotBlank(String... p_strings)
Definition: Util.java:166
CLIENT_CREDENTIALS
Definition: GrantType.java:64
Definition: TokenResponse.java:22
TokenResponse exec()
Definition: TokenClient.java:218
void setRequest(T request)
Definition: BaseClient.java:68
Definition: Util.java:40

◆ request() [4/4]

static Token org.xdi.oxauth.client.uma.wrapper.UmaClient.request ( final String  tokenUrl,
final String  clientKeyStoreFile,
final String  clientKeyStorePassword,
final String  clientId,
final String  keyId,
TokenRequest  tokenRequest 
) throws UmaException
inlinestaticprivate
193  {
194  OxAuthCryptoProvider cryptoProvider;
195  try {
196  cryptoProvider = new OxAuthCryptoProvider(clientKeyStoreFile, clientKeyStorePassword, null);
197  } catch (Exception ex) {
198  throw new UmaException("Failed to initialize crypto provider");
199  }
200 
201  try {
202  String tmpKeyId = keyId;
203  if (StringHelper.isEmpty(tmpKeyId)) {
204  // Get first key
205  List<String> aliases = cryptoProvider.getKeyAliases();
206  if (aliases.size() > 0) {
207  tmpKeyId = aliases.get(0);
208  }
209  }
210 
211  if (StringHelper.isEmpty(tmpKeyId)) {
212  throw new UmaException("UMA keyId is empty");
213  }
214 
215  SignatureAlgorithm algorithm = cryptoProvider.getSignatureAlgorithm(tmpKeyId);
216 
217 
219  tokenRequest.setAuthUsername(clientId);
220  tokenRequest.setCryptoProvider(cryptoProvider);
221  tokenRequest.setAlgorithm(algorithm);
222  tokenRequest.setKeyId(tmpKeyId);
223  tokenRequest.setAudience(tokenUrl);
224 
225  Token umaPat = UmaClient.request(tokenUrl, tokenRequest);
226 
227  return umaPat;
228  } catch (Exception ex) {
229  throw new UmaException("Failed to obtain valid UMA PAT token", ex);
230  }
231  }
void setKeyId(String keyId)
Definition: TokenRequest.java:303
void setCryptoProvider(AbstractCryptoProvider cryptoProvider)
Definition: TokenRequest.java:295
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
void setAudience(String audience)
Definition: TokenRequest.java:273
Definition: SignatureAlgorithm.java:20
SignatureAlgorithm getSignatureAlgorithm(String alias)
Definition: OxAuthCryptoProvider.java:320
List< String > getKeyAliases()
Definition: OxAuthCryptoProvider.java:316
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
PRIVATE_KEY_JWT
Definition: AuthenticationMethod.java:37
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277
Definition: AuthenticationMethod.java:12
Definition: OxAuthCryptoProvider.java:62

◆ requestPat() [1/4]

static Token org.xdi.oxauth.client.uma.wrapper.UmaClient.requestPat ( final String  tokenUrl,
final String  clientKeyStoreFile,
final String  clientKeyStorePassword,
final String  clientId,
final String  keyId 
) throws UmaException
inlinestatic
34  {
36 
37  return request(tokenUrl, clientKeyStoreFile, clientKeyStorePassword, clientId, keyId, tokenRequest);
38  }
GrantType grantType
Definition: TokenRequest.java:40
Definition: GrantType.java:23
Definition: TokenRequest.java:34
static Token request(final String authorizeUrl, final String tokenUrl, final String umaUserId, final String umaUserSecret, final String umaClientId, final String umaClientSecret, final String umaRedirectUri, UmaScopeType p_type, String... scopeArray)
Definition: UmaClient.java:57
static Builder builder()
Definition: TokenRequest.java:103
CLIENT_CREDENTIALS
Definition: GrantType.java:64
Builder pat(String... scopeArray)
Definition: TokenRequest.java:53

◆ requestPat() [2/4]

static Token org.xdi.oxauth.client.uma.wrapper.UmaClient.requestPat ( final String  authorizeUrl,
final String  tokenUrl,
final String  umaUserId,
final String  umaUserSecret,
final String  umaClientId,
final String  umaClientSecret,
final String  umaRedirectUri,
String...  scopeArray 
) throws Exception
inlinestatic
44  {
45  return request(authorizeUrl, tokenUrl, umaUserId, umaUserSecret, umaClientId, umaClientSecret, umaRedirectUri, UmaScopeType.PROTECTION, scopeArray);
46  }
Definition: UmaScopeType.java:17
static Token request(final String authorizeUrl, final String tokenUrl, final String umaUserId, final String umaUserSecret, final String umaClientId, final String umaClientSecret, final String umaRedirectUri, UmaScopeType p_type, String... scopeArray)
Definition: UmaClient.java:57
PROTECTION
Definition: UmaScopeType.java:19

◆ requestPat() [3/4]

static Token org.xdi.oxauth.client.uma.wrapper.UmaClient.requestPat ( final String  tokenUrl,
final String  umaClientId,
final String  umaClientSecret,
String...  scopeArray 
) throws Exception
inlinestatic
48  {
49  return requestPat(tokenUrl, umaClientId, umaClientSecret, null, scopeArray);
50  }
static Token requestPat(final String tokenUrl, final String clientKeyStoreFile, final String clientKeyStorePassword, final String clientId, final String keyId)
Definition: UmaClient.java:34

◆ requestPat() [4/4]

static Token org.xdi.oxauth.client.uma.wrapper.UmaClient.requestPat ( final String  tokenUrl,
final String  umaClientId,
final String  umaClientSecret,
ClientExecutor  clientExecutor,
String...  scopeArray 
) throws Exception
inlinestatic
52  {
53  return request(tokenUrl, umaClientId, umaClientSecret, UmaScopeType.PROTECTION, clientExecutor, scopeArray);
54  }
Definition: UmaScopeType.java:17
static Token request(final String authorizeUrl, final String tokenUrl, final String umaUserId, final String umaUserSecret, final String umaClientId, final String umaClientSecret, final String umaRedirectUri, UmaScopeType p_type, String... scopeArray)
Definition: UmaClient.java:57
PROTECTION
Definition: UmaScopeType.java:19

◆ requestWithClientSecretJwt()

static Token org.xdi.oxauth.client.uma.wrapper.UmaClient.requestWithClientSecretJwt ( final String  tokenUrl,
final String  umaClientId,
final String  umaClientSecret,
AuthenticationMethod  authenticationMethod,
SignatureAlgorithm  signatureAlgorithm,
String  audience,
UmaScopeType  scopeType,
String...  scopeArray 
) throws Exception
inlinestatic
149  {
150 
151  String scope = scopeType.getValue();
152  if (scopeArray != null && scopeArray.length > 0) {
153  for (String s : scopeArray) {
154  scope = scope + " " + s;
155  }
156  }
157 
159  request.setAuthUsername(umaClientId);
160  request.setAuthPassword(umaClientSecret);
161  request.setScope(scope);
162  request.setAuthenticationMethod(authenticationMethod);
163  request.setAlgorithm(signatureAlgorithm);
164  request.setAudience(audience);
165 
166  return request(tokenUrl, request);
167  }
void setScope(String scope)
Definition: TokenRequest.java:233
void setAuthUsername(String authUsername)
Definition: BaseRequest.java:62
void setAudience(String audience)
Definition: TokenRequest.java:273
String getValue()
Definition: UmaScopeType.java:35
Definition: GrantType.java:23
Definition: TokenRequest.java:34
static Token request(final String authorizeUrl, final String tokenUrl, final String umaUserId, final String umaUserSecret, final String umaClientId, final String umaClientSecret, final String umaRedirectUri, UmaScopeType p_type, String... scopeArray)
Definition: UmaClient.java:57
void setAuthPassword(String authPassword)
Definition: BaseRequest.java:70
CLIENT_CREDENTIALS
Definition: GrantType.java:64
void setAuthenticationMethod(AuthenticationMethod authenticationMethod)
Definition: BaseRequest.java:78
void setAlgorithm(SignatureAlgorithm algorithm)
Definition: TokenRequest.java:277

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