@@ -52,8 +52,7 @@ public HttpAccessManager(final String host, final String realm) {
52
52
53
53
@ Override
54
54
public void manage (final Handler handler , final Context ctx , final Set <Role > permittedRoles ) throws Exception {
55
- checkAccess (ctx , permittedRoles ,
56
- ((HttpServer ) ctx .attribute (Attribute .JAVALIN_SERVER )).getUserAccessInterceptor ());
55
+ checkAccess (ctx , permittedRoles );
57
56
handler .handle (ctx );
58
57
}
59
58
@@ -101,10 +100,9 @@ private void initPublicKey() {
101
100
}
102
101
}
103
102
104
- private void checkAccess (final Context ctx , final Set <Role > permittedRoles ,
105
- final Consumer <UserDataJson > userAccessInterceptor ) {
103
+ private void checkAccess (final Context ctx , final Set <Role > permittedRoles ) {
106
104
try {
107
- TokenVerifier <AccessToken > tokenVerifier = persistUserInfoInContext (ctx , userAccessInterceptor );
105
+ TokenVerifier <AccessToken > tokenVerifier = persistUserInfoInContext (ctx );
108
106
109
107
if (permittedRoles .isEmpty () || permittedRoles .contains (DefaultRole .OPEN ) && permittedRoles .size () == 1 )
110
108
return ;
@@ -146,8 +144,7 @@ private boolean hasPermittedRole(final Context ctx, final Set<Role> permittedRol
146
144
return false ;
147
145
}
148
146
149
- private TokenVerifier <AccessToken > persistUserInfoInContext (final Context ctx ,
150
- final Consumer <UserDataJson > userAccessInterceptor ) {
147
+ private TokenVerifier <AccessToken > persistUserInfoInContext (final Context ctx ) {
151
148
String authorizationHeader = ctx .header (HttpHeader .AUTHORIZATION .asString ());
152
149
153
150
if (authorizationHeader == null || authorizationHeader .isBlank ())
@@ -177,18 +174,21 @@ private TokenVerifier<AccessToken> persistUserInfoInContext(final Context ctx,
177
174
clientRoles = token .getResourceAccess ().get (key ).getRoles ();
178
175
ctx .attribute (Attribute .USER_CLIENT_ROLES , clientRoles );
179
176
180
- userAccessInterceptor .accept (UserDataJson .builder ()
181
- .userName (userName )
182
- .givenName (token .getGivenName ())
183
- .client (token .getIssuedFor ())
184
- .familyName (token .getFamilyName ())
185
- .email (token .getEmail ())
186
- .emailVerified (token .getEmailVerified ())
187
- .realmRoles (token .getRealmAccess ().getRoles ())
188
- .clientRoles (clientRoles )
189
- .isActive (token .isActive ())
190
- .isBearer (token .getType ().equalsIgnoreCase ("bearer" ))
191
- .build ());
177
+ Consumer <UserDataJson > userAccessInterceptor = ((HttpServer ) ctx .attribute (Attribute .JAVALIN_SERVER ))
178
+ .getUserAccessInterceptor ();
179
+ if (userAccessInterceptor != null )
180
+ userAccessInterceptor .accept (UserDataJson .builder ()
181
+ .userName (userName )
182
+ .givenName (token .getGivenName ())
183
+ .client (token .getIssuedFor ())
184
+ .familyName (token .getFamilyName ())
185
+ .email (token .getEmail ())
186
+ .emailVerified (token .getEmailVerified ())
187
+ .realmRoles (token .getRealmAccess ().getRoles ())
188
+ .clientRoles (clientRoles )
189
+ .isActive (token .isActive ())
190
+ .isBearer (token .getType ().equalsIgnoreCase ("bearer" ))
191
+ .build ());
192
192
193
193
if (!token .isActive ()) {
194
194
setTokenRejectionReason (ctx , "Token is inactive." );
0 commit comments