From 32f13aadf8c1cce04e81ceca115348e5653fdd51 Mon Sep 17 00:00:00 2001 From: YLC8E <382170522@qq.com> Date: Mon, 4 Oct 2021 00:01:07 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20Introducing=20new=20features.=20cl?= =?UTF-8?q?osed=20#3157=20=E3=80=90=E6=96=B0=E7=89=B9=E6=80=A7=E3=80=91=20?= =?UTF-8?q?=E4=BB=A4=E7=89=8C=E7=AE=A1=E7=90=86=E8=BF=94=E5=9B=9E=E5=BD=93?= =?UTF-8?q?=E5=89=8D=E4=BB=A4=E7=89=8C=E5=AF=B9=E5=BA=94=E7=9A=84=E5=AE=A2?= =?UTF-8?q?=E6=88=B7=E7=AB=AFID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pigx/common/core/constant/SecurityConstants.java | 5 +++++ .../common/security/component/PigxTokenEnhancer.java | 12 +++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/constant/SecurityConstants.java b/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/constant/SecurityConstants.java index 57de181f5..fe01e2683 100644 --- a/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/constant/SecurityConstants.java +++ b/pigx-common/pigx-common-core/src/main/java/com/pig4cloud/pigx/common/core/constant/SecurityConstants.java @@ -170,6 +170,11 @@ public interface SecurityConstants { */ String CLIENT_CREDENTIALS = "client_credentials"; + /** + * 客户端编号 + */ + String CLIENT_ID = "client_id"; + /** * 用户ID字段 */ diff --git a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/PigxTokenEnhancer.java b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/PigxTokenEnhancer.java index 8d7b4ce2a..80b35fac8 100644 --- a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/PigxTokenEnhancer.java +++ b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/PigxTokenEnhancer.java @@ -45,15 +45,21 @@ public class PigxTokenEnhancer implements TokenEnhancer { */ @Override public OAuth2AccessToken enhance(OAuth2AccessToken accessToken, OAuth2Authentication authentication) { + + final Map additionalInfo = new HashMap<>(8); + String clientId = authentication.getOAuth2Request().getClientId(); + additionalInfo.put(SecurityConstants.CLIENT_ID, clientId); + additionalInfo.put(SecurityConstants.DETAILS_LICENSE, SecurityConstants.PIGX_LICENSE); + additionalInfo.put(SecurityConstants.ACTIVE, Boolean.TRUE); + + // 客户端模式不返回具体用户信息 if (SecurityConstants.CLIENT_CREDENTIALS.equals(authentication.getOAuth2Request().getGrantType())) { + ((DefaultOAuth2AccessToken) accessToken).setAdditionalInformation(additionalInfo); return accessToken; } - final Map additionalInfo = new HashMap<>(8); PigxUser pigxUser = (PigxUser) authentication.getUserAuthentication().getPrincipal(); additionalInfo.put(SecurityConstants.DETAILS_USER, pigxUser); - additionalInfo.put(SecurityConstants.DETAILS_LICENSE, SecurityConstants.PIGX_LICENSE); - additionalInfo.put(SecurityConstants.ACTIVE, Boolean.TRUE); ((DefaultOAuth2AccessToken) accessToken).setAdditionalInformation(additionalInfo); return accessToken; }