zhongrj
2024-04-28 2603ada5be599d10d2af2fd8cb6d596c6f0f68d7
blade-auth/src/main/java/org/springblade/auth/granter/SocialTokenGranter.java
@@ -33,7 +33,7 @@
import org.springblade.system.user.entity.User;
import org.springblade.system.user.entity.UserInfo;
import org.springblade.system.user.entity.UserOauth;
import org.springblade.system.user.feign.IUserClient;
import org.springblade.system.user.service.IUserService;
import org.springframework.security.authentication.AbstractAuthenticationToken;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.core.Authentication;
@@ -57,10 +57,10 @@
   private static final String GRANT_TYPE = "social";
   private static final Integer AUTH_SUCCESS_CODE = 2000;
   private final IUserClient userClient;
   private final IUserService userClient;
   private final SocialProperties socialProperties;
   protected SocialTokenGranter(AuthorizationServerTokenServices tokenServices, ClientDetailsService clientDetailsService, OAuth2RequestFactory requestFactory, IUserClient userClient, SocialProperties socialProperties) {
   protected SocialTokenGranter(AuthorizationServerTokenServices tokenServices, ClientDetailsService clientDetailsService, OAuth2RequestFactory requestFactory, IUserService userClient, SocialProperties socialProperties) {
      super(tokenServices, clientDetailsService, requestFactory, GRANT_TYPE);
      this.userClient = userClient;
      this.socialProperties = socialProperties;
@@ -102,18 +102,18 @@
      userOauth.setUuid(authUser.getUuid());
      // 远程调用,获取认证信息
      R<UserInfo> result = userClient.userAuthInfo(userOauth);
      UserInfo userInfo = userClient.userInfo(userOauth);
      BladeUserDetails bladeUserDetails;
      if (result.isSuccess()) {
         User user = result.getData().getUser();
         Kv detail = result.getData().getDetail();
      if (null!=userInfo) {
         User user = userInfo.getUser();
         Kv detail = userInfo.getDetail();
         if (user == null || user.getId() == null) {
            throw new InvalidGrantException("social grant failure, user is null");
         }
         bladeUserDetails = new BladeUserDetails(user.getId(),
            tenantId, result.getData().getOauthId(), user.getName(), user.getRealName(), user.getDeptId(), user.getPostId(), user.getRoleId(), Func.join(result.getData().getRoles()), Func.toStr(userOauth.getAvatar(), TokenUtil.DEFAULT_AVATAR),
            tenantId, userInfo.getOauthId(), user.getName(), user.getRealName(), user.getDeptId(), user.getPostId(), user.getRoleId(), Func.join(userInfo.getRoles()), Func.toStr(userOauth.getAvatar(), TokenUtil.DEFAULT_AVATAR),
            userOauth.getUsername(), AuthConstant.ENCRYPT + user.getPassword(), detail, true, true, true, true,
            AuthorityUtils.commaSeparatedStringToAuthorityList(Func.join(result.getData().getRoles())));
            AuthorityUtils.commaSeparatedStringToAuthorityList(Func.join(userInfo.getRoles())));
      } else {
         throw new InvalidGrantException("social grant failure, feign client return error");
      }