@@ -52,8 +52,7 @@ public HttpAccessManager(final String host, final String realm) {
5252
5353 @ Override
5454 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 );
5756 handler .handle (ctx );
5857 }
5958
@@ -101,10 +100,9 @@ private void initPublicKey() {
101100 }
102101 }
103102
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 ) {
106104 try {
107- TokenVerifier <AccessToken > tokenVerifier = persistUserInfoInContext (ctx , userAccessInterceptor );
105+ TokenVerifier <AccessToken > tokenVerifier = persistUserInfoInContext (ctx );
108106
109107 if (permittedRoles .isEmpty () || permittedRoles .contains (DefaultRole .OPEN ) && permittedRoles .size () == 1 )
110108 return ;
@@ -146,8 +144,7 @@ private boolean hasPermittedRole(final Context ctx, final Set<Role> permittedRol
146144 return false ;
147145 }
148146
149- private TokenVerifier <AccessToken > persistUserInfoInContext (final Context ctx ,
150- final Consumer <UserDataJson > userAccessInterceptor ) {
147+ private TokenVerifier <AccessToken > persistUserInfoInContext (final Context ctx ) {
151148 String authorizationHeader = ctx .header (HttpHeader .AUTHORIZATION .asString ());
152149
153150 if (authorizationHeader == null || authorizationHeader .isBlank ())
@@ -177,18 +174,21 @@ private TokenVerifier<AccessToken> persistUserInfoInContext(final Context ctx,
177174 clientRoles = token .getResourceAccess ().get (key ).getRoles ();
178175 ctx .attribute (Attribute .USER_CLIENT_ROLES , clientRoles );
179176
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 ());
192192
193193 if (!token .isActive ()) {
194194 setTokenRejectionReason (ctx , "Token is inactive." );
0 commit comments