Bladeren bron

修复客户端模式认证会出现错误

RuoYi 5 jaren geleden
bovenliggende
commit
30aa0c4fca
1 gewijzigde bestanden met toevoegingen van 9 en 17 verwijderingen
  1. 9 17
      ruoyi-auth/src/main/java/com/ruoyi/auth/config/AuthServerConfig.java

+ 9 - 17
ruoyi-auth/src/main/java/com/ruoyi/auth/config/AuthServerConfig.java

@@ -11,13 +11,11 @@ import org.springframework.http.HttpMethod;
11 11
 import org.springframework.security.authentication.AuthenticationManager;
12 12
 import org.springframework.security.core.userdetails.UserDetailsService;
13 13
 import org.springframework.security.oauth2.common.DefaultOAuth2AccessToken;
14
-import org.springframework.security.oauth2.common.OAuth2AccessToken;
15 14
 import org.springframework.security.oauth2.config.annotation.configurers.ClientDetailsServiceConfigurer;
16 15
 import org.springframework.security.oauth2.config.annotation.web.configuration.AuthorizationServerConfigurerAdapter;
17 16
 import org.springframework.security.oauth2.config.annotation.web.configuration.EnableAuthorizationServer;
18 17
 import org.springframework.security.oauth2.config.annotation.web.configurers.AuthorizationServerEndpointsConfigurer;
19 18
 import org.springframework.security.oauth2.config.annotation.web.configurers.AuthorizationServerSecurityConfigurer;
20
-import org.springframework.security.oauth2.provider.OAuth2Authentication;
21 19
 import org.springframework.security.oauth2.provider.token.TokenEnhancer;
22 20
 import org.springframework.security.oauth2.provider.token.TokenStore;
23 21
 import org.springframework.security.oauth2.provider.token.store.redis.RedisTokenStore;
@@ -118,22 +116,16 @@ public class AuthServerConfig extends AuthorizationServerConfigurerAdapter
118 116
     @Bean
119 117
     public TokenEnhancer tokenEnhancer()
120 118
     {
121
-        return new TokenEnhancer()
122
-        {
123
-            @Override
124
-            public OAuth2AccessToken enhance(OAuth2AccessToken accessToken, OAuth2Authentication authentication)
119
+        return (accessToken, authentication) -> {
120
+            if (authentication.getUserAuthentication() != null)
125 121
             {
126
-                if (accessToken instanceof DefaultOAuth2AccessToken)
127
-                {
128
-                    DefaultOAuth2AccessToken token = (DefaultOAuth2AccessToken) accessToken;
129
-                    LoginUser user = (LoginUser) authentication.getUserAuthentication().getPrincipal();
130
-                    Map<String, Object> additionalInformation = new LinkedHashMap<String, Object>();
131
-                    additionalInformation.put(SecurityConstants.DETAILS_USERNAME, authentication.getName());
132
-                    additionalInformation.put(SecurityConstants.DETAILS_USER_ID, user.getUserId());
133
-                    token.setAdditionalInformation(additionalInformation);
134
-                }
135
-                return accessToken;
136
-            };
122
+                Map<String, Object> additionalInformation = new LinkedHashMap<String, Object>();
123
+                LoginUser user = (LoginUser) authentication.getUserAuthentication().getPrincipal();
124
+                additionalInformation.put(SecurityConstants.DETAILS_USER_ID, user.getUserId());
125
+                additionalInformation.put(SecurityConstants.DETAILS_USERNAME, user.getUsername());
126
+                ((DefaultOAuth2AccessToken) accessToken).setAdditionalInformation(additionalInformation);
127
+            }
128
+            return accessToken;
137 129
         };
138 130
     }
139 131
 }