gluu
公開メンバ関数 | 限定公開メンバ関数 | 限定公開変数類 | 関数 | 非公開メンバ関数 | 非公開変数類 | 静的非公開変数類 | 全メンバ一覧
org.gluu.oxtrust.service.uma.PassportUmaProtectionService クラス
org.gluu.oxtrust.service.uma.PassportUmaProtectionService の継承関係図
Inheritance graph
org.gluu.oxtrust.service.uma.PassportUmaProtectionService 連携図
Collaboration graph

公開メンバ関数

String getUmaResourceId ()
 
String getUmaScope ()
 
boolean isEnabled ()
 
Response processAuthorization (HttpHeaders headers, ResourceInfo resourceInfo)
 
Token getPatToken () throws UmaProtectionException
 
boolean isExistPatToken ()
 
List< String > getRequestedScopes (ResourceInfo resourceInfo)
 

限定公開メンバ関数

String getClientId ()
 
String getClientKeyStorePassword ()
 
String getClientKeyStoreFile ()
 
String getClientKeyId ()
 
boolean isEnabledUmaAuthentication ()
 
long computeAccessTokenExpirationTime (Integer expiresIn)
 
Response getErrorResponse (Response.Status status, String detail)
 

限定公開変数類

UmaPermissionService umaPermissionService
 

関数

Response processUmaAuthorization (String authorization, ResourceInfo resourceInfo) throws Exception
 

非公開メンバ関数

boolean isPassportEnabled ()
 

非公開変数類

Logger log
 
AppConfiguration appConfiguration
 
ApplianceService applianceService
 

静的非公開変数類

static final long serialVersionUID = -5547131971095468865L
 

詳解

Provides service to protect Passport Passport Rest service endpoints

著者
Yuriy Movchan Date: 012/06/2016

関数詳解

◆ computeAccessTokenExpirationTime()

long org.gluu.oxtrust.service.uma.BaseUmaProtectionService.computeAccessTokenExpirationTime ( Integer  expiresIn)
inlineprotectedinherited
128  {
129  // Compute "accessToken" expiration timestamp
130  Calendar calendar = Calendar.getInstance();
131  if (expiresIn != null) {
132  calendar.add(Calendar.SECOND, expiresIn);
133  calendar.add(Calendar.SECOND, -10); // Subtract 10 seconds to avoid expirations during executing request
134  }
135 
136  return calendar.getTimeInMillis();
137  }

◆ getClientId()

String org.gluu.oxtrust.service.uma.PassportUmaProtectionService.getClientId ( )
inlineprotected
43  {
44  return appConfiguration.getPassportUmaClientId();
45  }
AppConfiguration appConfiguration
Definition: PassportUmaProtectionService.java:38

◆ getClientKeyId()

String org.gluu.oxtrust.service.uma.PassportUmaProtectionService.getClientKeyId ( )
inlineprotected
55  {
56  return appConfiguration.getPassportUmaClientKeyId();
57  }
AppConfiguration appConfiguration
Definition: PassportUmaProtectionService.java:38

◆ getClientKeyStoreFile()

String org.gluu.oxtrust.service.uma.PassportUmaProtectionService.getClientKeyStoreFile ( )
inlineprotected
51  {
52  return appConfiguration.getPassportUmaClientKeyStoreFile();
53  }
AppConfiguration appConfiguration
Definition: PassportUmaProtectionService.java:38

◆ getClientKeyStorePassword()

String org.gluu.oxtrust.service.uma.PassportUmaProtectionService.getClientKeyStorePassword ( )
inlineprotected
47  {
48  return appConfiguration.getPassportUmaClientKeyStorePassword();
49  }
AppConfiguration appConfiguration
Definition: PassportUmaProtectionService.java:38

◆ getErrorResponse()

Response org.gluu.oxtrust.service.uma.BaseUmaProtectionService.getErrorResponse ( Response.Status  status,
String  detail 
)
inlineprotectedinherited
147  {
148  return Response.status(status).entity(detail).build();
149  }

◆ getPatToken()

Token org.gluu.oxtrust.service.uma.BaseUmaProtectionService.getPatToken ( ) throws UmaProtectionException
inlineinherited
57  {
59  return this.umaPat;
60  }
61 
62  lock.lock();
63  try {
65  return this.umaPat;
66  }
67 
69  } finally {
70  lock.unlock();
71  }
72 
73 
74  return this.umaPat;
75  }
final ReentrantLock lock
Definition: BaseUmaProtectionService.java:55
Token umaPat
Definition: BaseUmaProtectionService.java:52
boolean isValidPatToken(Token validatePatToken, long validatePatTokenExpiration)
Definition: BaseUmaProtectionService.java:139
long umaPatAccessTokenExpiration
Definition: BaseUmaProtectionService.java:53
void retrievePatToken()
Definition: BaseUmaProtectionService.java:91

◆ getRequestedScopes()

List<String> org.gluu.oxtrust.service.uma.BaseUmaProtectionService.getRequestedScopes ( ResourceInfo  resourceInfo)
inlineinherited
181  {
182  Class<?> resourceClass = resourceInfo.getResourceClass();
183  ProtectedApi typeAnnotation = resourceClass.getAnnotation(ProtectedApi.class);
184  if (typeAnnotation == null) {
185  return Collections.emptyList();
186  }
187 
188  List<String> scopes = new ArrayList<String>();
189  scopes.addAll(getResourceScopes(typeAnnotation.scopes()));
190 
191  Method resourceMethod = resourceInfo.getResourceMethod();
192  ProtectedApi methodAnnotation = resourceMethod.getAnnotation(ProtectedApi.class);
193  if (methodAnnotation != null) {
194  scopes.addAll(getResourceScopes(methodAnnotation.scopes()));
195  }
196 
197  return scopes;
198  }
List< String > getResourceScopes(String[] scopes)
Definition: BaseUmaProtectionService.java:200

◆ getUmaResourceId()

String org.gluu.oxtrust.service.uma.PassportUmaProtectionService.getUmaResourceId ( )
inline
59  {
60  return appConfiguration.getPassportUmaResourceId();
61  }
AppConfiguration appConfiguration
Definition: PassportUmaProtectionService.java:38

◆ getUmaScope()

String org.gluu.oxtrust.service.uma.PassportUmaProtectionService.getUmaScope ( )
inline
63  {
64  return appConfiguration.getPassportUmaScope();
65  }
AppConfiguration appConfiguration
Definition: PassportUmaProtectionService.java:38

◆ isEnabled()

boolean org.gluu.oxtrust.service.uma.PassportUmaProtectionService.isEnabled ( )
inline
67  {
69  }
boolean isEnabledUmaAuthentication()
Definition: BaseUmaProtectionService.java:77
boolean isPassportEnabled()
Definition: PassportUmaProtectionService.java:71

◆ isEnabledUmaAuthentication()

boolean org.gluu.oxtrust.service.uma.BaseUmaProtectionService.isEnabledUmaAuthentication ( )
inlineprotectedinherited
77  {
78  return (umaMetadata != null) && isExistPatToken();
79  }
boolean isExistPatToken()
Definition: BaseUmaProtectionService.java:81
UmaMetadata umaMetadata
Definition: BaseUmaProtectionService.java:44

◆ isExistPatToken()

boolean org.gluu.oxtrust.service.uma.BaseUmaProtectionService.isExistPatToken ( )
inlineinherited
81  {
82  try {
83  return getPatToken() != null;
84  } catch (UmaProtectionException ex) {
85  log.error("Failed to check UMA PAT token status", ex);
86  }
87 
88  return false;
89  }
Logger log
Definition: BaseUmaProtectionService.java:38
Token getPatToken()
Definition: BaseUmaProtectionService.java:57

◆ isPassportEnabled()

boolean org.gluu.oxtrust.service.uma.PassportUmaProtectionService.isPassportEnabled ( )
inlineprivate
71  {
72  GluuAppliance appliance = applianceService.getAppliance();
73  GluuBoolean passportEnbaled = appliance.getPassportEnabled();
74 
75  return GluuBoolean.ENABLED.equals(passportEnbaled) || GluuBoolean.TRUE.equals(passportEnbaled);
76  }
GluuAppliance getAppliance(String[] returnAttributes)
Definition: ApplianceService.java:111
GluuBoolean getPassportEnabled()
Definition: GluuAppliance.java:638
ApplianceService applianceService
Definition: PassportUmaProtectionService.java:41

◆ processAuthorization()

Response org.gluu.oxtrust.service.uma.PassportUmaProtectionService.processAuthorization ( HttpHeaders  headers,
ResourceInfo  resourceInfo 
)
inline
78  {
79 
80  if (isEnabled()) {
81  try {
82  return processUmaAuthorization(headers.getHeaderString("Authorization"), resourceInfo);
83  }
84  catch (Exception e){
85  log.error(e.getMessage(), e);
86  return getErrorResponse(Response.Status.INTERNAL_SERVER_ERROR, e.getMessage());
87  }
88  }
89  else{
90  log.info("UMA passport authentication is disabled");
91  return getErrorResponse(Response.Status.SERVICE_UNAVAILABLE, "Passport configuration was disabled");
92  }
93 
94  }
Logger log
Definition: PassportUmaProtectionService.java:35
boolean isEnabled()
Definition: PassportUmaProtectionService.java:67
Response processUmaAuthorization(String authorization, ResourceInfo resourceInfo)
Definition: BaseUmaProtectionService.java:151
Response getErrorResponse(Response.Status status, String detail)
Definition: BaseUmaProtectionService.java:147

◆ processUmaAuthorization()

Response org.gluu.oxtrust.service.uma.BaseUmaProtectionService.processUmaAuthorization ( String  authorization,
ResourceInfo  resourceInfo 
) throws Exception
inlinepackageinherited
151  {
152  List<String> scopes = getRequestedScopes(resourceInfo);
153 
154  Token patToken = null;
155  try {
156  patToken = getPatToken();
157  }
158  catch (UmaProtectionException ex) {
159  return getErrorResponse(Response.Status.INTERNAL_SERVER_ERROR, "Failed to obtain PAT token");
160  }
161 
162  Pair<Boolean, Response> rptTokenValidationResult;
163  if (scopes.isEmpty()) {
164  rptTokenValidationResult = umaPermissionService.validateRptToken(patToken, authorization, getUmaResourceId(), scopes);
165  } else {
166  rptTokenValidationResult = umaPermissionService.validateRptToken(patToken, authorization, getUmaResourceId(), getUmaScope());
167  }
168 
169  if (rptTokenValidationResult.getFirst()) {
170  if (rptTokenValidationResult.getSecond() != null) {
171  return rptTokenValidationResult.getSecond();
172  }
173  }
174  else {
175  return getErrorResponse(Response.Status.UNAUTHORIZED, "Invalid GAT/RPT token");
176  }
177  return null;
178 
179  }
UmaPermissionService umaPermissionService
Definition: BaseUmaProtectionService.java:47
Token getPatToken()
Definition: BaseUmaProtectionService.java:57
Response getErrorResponse(Response.Status status, String detail)
Definition: BaseUmaProtectionService.java:147
List< String > getRequestedScopes(ResourceInfo resourceInfo)
Definition: BaseUmaProtectionService.java:181
Pair< Boolean, Response > validateRptToken(Token patToken, String authorization, String umaResourceId, String scopeId)
Definition: UmaPermissionService.java:105

メンバ詳解

◆ appConfiguration

AppConfiguration org.gluu.oxtrust.service.uma.PassportUmaProtectionService.appConfiguration
private

◆ applianceService

ApplianceService org.gluu.oxtrust.service.uma.PassportUmaProtectionService.applianceService
private

◆ log

Logger org.gluu.oxtrust.service.uma.PassportUmaProtectionService.log
private

◆ serialVersionUID

final long org.gluu.oxtrust.service.uma.PassportUmaProtectionService.serialVersionUID = -5547131971095468865L
staticprivate

◆ umaPermissionService

UmaPermissionService org.gluu.oxtrust.service.uma.BaseUmaProtectionService.umaPermissionService
protectedinherited

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