mitreid-connect
公開メンバ関数 | 非公開変数類 | 全メンバ一覧
org.mitre.uma.service.impl.DefaultUmaTokenService クラス
org.mitre.uma.service.impl.DefaultUmaTokenService の継承関係図
Inheritance graph
org.mitre.uma.service.impl.DefaultUmaTokenService 連携図
Collaboration graph

公開メンバ関数

OAuth2AccessTokenEntity createRequestingPartyToken (OAuth2Authentication o2auth, PermissionTicket ticket, Policy policy)
 

非公開変数類

AuthenticationHolderRepository authenticationHolderRepository
 
OAuth2TokenEntityService tokenService
 
ClientDetailsEntityService clientService
 
ConfigurationPropertiesBean config
 
JWTSigningAndValidationService jwtService
 

詳解

著者
jricher

関数詳解

◆ createRequestingPartyToken()

OAuth2AccessTokenEntity org.mitre.uma.service.impl.DefaultUmaTokenService.createRequestingPartyToken ( OAuth2Authentication  o2auth,
PermissionTicket  ticket,
Policy  policy 
)
inline

org.mitre.uma.service.UmaTokenServiceを実装しています。

71  {
72  OAuth2AccessTokenEntity token = new OAuth2AccessTokenEntity();
73  AuthenticationHolderEntity authHolder = new AuthenticationHolderEntity();
74  authHolder.setAuthentication(o2auth);
75  authHolder = authenticationHolderRepository.save(authHolder);
76 
77  token.setAuthenticationHolder(authHolder);
78 
79  ClientDetailsEntity client = clientService.loadClientByClientId(o2auth.getOAuth2Request().getClientId());
80  token.setClient(client);
81 
82  Set<String> ticketScopes = ticket.getPermission().getScopes();
83  Set<String> policyScopes = policy.getScopes();
84 
85  Permission perm = new Permission();
86  perm.setResourceSet(ticket.getPermission().getResourceSet());
87  perm.setScopes(new HashSet<>(Sets.intersection(ticketScopes, policyScopes)));
88 
89  token.setPermissions(Sets.newHashSet(perm));
90 
91  JWTClaimsSet.Builder claims = new JWTClaimsSet.Builder();
92 
93  claims.audience(Lists.newArrayList(ticket.getPermission().getResourceSet().getId().toString()));
94  claims.issuer(config.getIssuer());
95  claims.jwtID(UUID.randomUUID().toString());
96 
97  if (config.getRqpTokenLifeTime() != null) {
98  Date exp = new Date(System.currentTimeMillis() + config.getRqpTokenLifeTime() * 1000L);
99 
100  claims.expirationTime(exp);
101  token.setExpiration(exp);
102  }
103 
104 
105  JWSAlgorithm signingAlgorithm = jwtService.getDefaultSigningAlgorithm();
106  JWSHeader header = new JWSHeader(signingAlgorithm, null, null, null, null, null, null, null, null, null,
108  null, null);
109  SignedJWT signed = new SignedJWT(header, claims.build());
110 
111  jwtService.signJwt(signed);
112 
113  token.setJwt(signed);
114 
116 
117  return token;
118  }
OAuth2AccessTokenEntity saveAccessToken(OAuth2AccessTokenEntity accessToken)
ConfigurationPropertiesBean config
Definition: DefaultUmaTokenService.java:64
AuthenticationHolderRepository authenticationHolderRepository
Definition: DefaultUmaTokenService.java:55
AuthenticationHolderEntity save(AuthenticationHolderEntity a)
Long getRqpTokenLifeTime()
Definition: ConfigurationPropertiesBean.java:167
ClientDetailsEntityService clientService
Definition: DefaultUmaTokenService.java:61
OAuth2TokenEntityService tokenService
Definition: DefaultUmaTokenService.java:58
ClientDetailsEntity loadClientByClientId(String clientId)
String getIssuer()
Definition: ConfigurationPropertiesBean.java:100
JWTSigningAndValidationService jwtService
Definition: DefaultUmaTokenService.java:67

メンバ詳解

◆ authenticationHolderRepository

AuthenticationHolderRepository org.mitre.uma.service.impl.DefaultUmaTokenService.authenticationHolderRepository
private

◆ clientService

ClientDetailsEntityService org.mitre.uma.service.impl.DefaultUmaTokenService.clientService
private

◆ config

ConfigurationPropertiesBean org.mitre.uma.service.impl.DefaultUmaTokenService.config
private

◆ jwtService

JWTSigningAndValidationService org.mitre.uma.service.impl.DefaultUmaTokenService.jwtService
private

◆ tokenService

OAuth2TokenEntityService org.mitre.uma.service.impl.DefaultUmaTokenService.tokenService
private

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