Explorar o código

:sparkles: 添加新特性,支持客户端模式令牌方法

冷冷 %!s(int64=6) %!d(string=hai) anos
pai
achega
02fa2dcd73

+ 10 - 0
pigx-auth/src/main/java/com/pig4cloud/pigx/auth/config/AuthorizationServerConfig.java

@@ -104,9 +104,19 @@ public class AuthorizationServerConfig extends AuthorizationServerConfigurerAdap
 		return tokenStore;
 	}
 
+	/**
+	 * token增强,客户端模式不增强。
+	 *
+	 * @return TokenEnhancer
+	 */
 	@Bean
 	public TokenEnhancer tokenEnhancer() {
 		return (accessToken, authentication) -> {
+			if (SecurityConstants.CLIENT_CREDENTIALS
+					.equals(authentication.getOAuth2Request().getGrantType())) {
+				return accessToken;
+			}
+
 			final Map<String, Object> additionalInfo = new HashMap<>(8);
 			PigxUser pigxUser = (PigxUser) authentication.getUserAuthentication().getPrincipal();
 			additionalInfo.put("user_id", pigxUser.getId());

+ 5 - 0
pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/constant/SecurityConstants.java

@@ -120,4 +120,9 @@ public interface SecurityConstants {
 	 */
 	String RESOURCE_SERVER_CONFIGURER = "resourceServerConfigurerAdapter";
 
+	/**
+	 * 客户端模式
+	 */
+	String CLIENT_CREDENTIALS = "client_credentials";
+
 }