♻️ Refactoring code. 迁移 Spring Authorization Server

This commit is contained in:
lbw committed 2022-12-14 16:14:16 +08:00
1 parent 1a780fa3d4
commit 6590012517
1 file changed
+6 -5
@@ -7,9 +7,9 @@ import org.springframework.http.HttpHeaders;
import org.springframework.security.access.AccessDeniedException;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.oauth2.common.OAuth2AccessToken;
import org.springframework.security.oauth2.provider.OAuth2Authentication;
import org.springframework.security.oauth2.core.OAuth2AuthenticatedPrincipal;
import org.springframework.security.oauth2.provider.authentication.OAuth2AuthenticationDetails;
import org.springframework.security.oauth2.provider.token.ResourceServerTokenServices;
import org.springframework.security.oauth2.server.resource.introspection.OpaqueTokenIntrospector;
import org.ssssssss.magicapi.core.context.MagicUser;
import org.ssssssss.magicapi.core.interceptor.Authorization;
import org.ssssssss.magicapi.core.interceptor.AuthorizationInterceptor;
@@ -32,7 +32,7 @@ public class CustomMagicDesignerAuthorizationInterceptor implements Authorizatio
private final static String MAGIC_AUTHORITY = "gen_api_designer";
private final ResourceServerTokenServices tokenServices;
private final OpaqueTokenIntrospector opaqueTokenIntrospector;
/**
* 配置是否需要登录
@@ -52,8 +52,9 @@ public class CustomMagicDesignerAuthorizationInterceptor implements Authorizatio
throw new AccessDeniedException("权限不足");
}
OAuth2Authentication oAuth2Authentication = tokenServices.loadAuthentication(accessToken);
Collection<GrantedAuthority> authorities = oAuth2Authentication.getAuthorities();
OAuth2AuthenticatedPrincipal introspect = opaqueTokenIntrospector.introspect(accessToken);
Collection<? extends GrantedAuthority> authorities = introspect.getAuthorities();
// 查询权限
return authorities.stream().anyMatch(authority -> MAGIC_AUTHORITY.equals(authority.getAuthority()));
}