BladeX2.8.1参照SocialTokenGranter新增登录模式后,导致账号密码认证方式报错

Blade 未结 2 1305
1664087911
1664087911 剑圣 2021-09-06 20:36

一、该问题的重现步骤是什么?

1. BladeX2.8.1参照SocialTokenGranter新增登录模式后,导致账号密码认证方式报错

2. 

org.springblade.auth.granter;

org.springblade.auth.constant.AuthConstant;
org.springblade.auth.service.BladeUserDetails;
org.springblade.auth.utils.TokenUtil;
org.springblade.core.tool.api.R;
org.springblade.core.tool.support.Kv;
org.springblade.core.tool.utils.Func;
org.springblade.core.tool.utils.WebUtil;
org.springblade.system.user.entity.User;
org.springblade.system.user.entity.UserInfo;
org.springblade.system.user.feign.IUserClient;
org.springframework.security.authentication.AbstractAuthenticationToken;
org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
org.springframework.security.core.Authentication;
org.springframework.security.core.authority.AuthorityUtils;
org.springframework.security.oauth2.common.exceptions.InvalidGrantException;
org.springframework.security.oauth2.provider.*;
org.springframework.security.oauth2.provider.token.AbstractTokenGranter;
org.springframework.security.oauth2.provider.token.AuthorizationServerTokenServices;

javax.servlet.http.HttpServletRequest;
java.util.LinkedHashMap;
java.util.Map;

SecretFreeTokenGranter AbstractTokenGranter {
   String = ;

   IUserClient ;

   SecretFreeTokenGranter(AuthorizationServerTokenServices tokenServices, ClientDetailsService clientDetailsService, OAuth2RequestFactory requestFactory, IUserClient userClient) {
      (tokenServices, clientDetailsService, requestFactory, );
      .= userClient;
   }

   OAuth2Authentication getOAuth2Authentication(ClientDetails client, TokenRequest tokenRequest) {
      HttpServletRequest request = WebUtil.();
      String tenantId = Func.(request.getHeader(TokenUtil.), TokenUtil.);

      Map<String, String> parameters = LinkedHashMap<>(tokenRequest.getRequestParameters());
      String account = parameters.get();
      String password = parameters.get();
      R<UserInfo> result = .userAuthSecretFree(tenantId, account, password);
      BladeUserDetails bladeUserDetails;
      (result.isSuccess()) {
         User user = result.getData().getUser();
         Kv detail = result.getData().getDetail();
         (user == ) {
            InvalidGrantException();
         }
         bladeUserDetails = BladeUserDetails(user.getId(),
            tenantId, result.getData().getOauthId(), user.getName(), user.getRealName(), user.getDeptId(), user.getPostId(), user.getRoleId(), user.getUserCategory(), Func.(result.getData().getRoles()), Func.(user.getAvatar(), TokenUtil.),
            user.getAccount(), AuthConstant.+ user.getPassword(), detail, , , , ,
            AuthorityUtils.(Func.(result.getData().getRoles())), user.getHisId(), user.getSign());
      } {
         InvalidGrantException();
      }

      Authentication userAuth = UsernamePasswordAuthenticationToken(bladeUserDetails, , bladeUserDetails.getAuthorities());
      ((AbstractAuthenticationToken) userAuth).setDetails(parameters);
      OAuth2Request storedOAuth2Request = getRequestFactory().createOAuth2Request(client, tokenRequest);

      OAuth2Authentication(storedOAuth2Request, userAuth);
   }

}

3.

<=== 401 POST: /blade-auth/oauth/token?tenantId=000000&username=admin&password=21232f297a57a5a743894a0e4a801fc3&grant_type=password&scope=all&type=account

===Headers===  transfer-encoding: chunked

===Headers===  Access-Control-Allow-Headers: X-Requested-With, Tenant-Id, Blade-Auth, Content-Type, Authorization, credential, X-XSRF-TOKEN, token, username, client, knfie4j-gateway-request, request-origion

===Headers===  Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS,HEAD

===Headers===  Access-Control-Allow-Origin: *

===Headers===  Access-Control-Expose-Headers: *

===Headers===  Access-Control-Max-Age: 18000L

===Headers===  Access-Control-Allow-Credentials: true

===Headers===  Cache-Control: no-store

===Headers===  X-XSS-Protection: 1; mode=block

===Headers===  Pragma: no-cache

===Headers===  X-Frame-Options: DENY

===Headers===  Date: Mon, 06 Sep 2021 12:31:36 GMT

===Headers===  WWW-Authenticate: Bearer error="invalid_client", error_description="Bad client credentials"

===Headers===  X-Content-Type-Options: nosniff

===Headers===  Content-Type: application/json;charset=UTF-8

===Headers===  connection: close

================  Gateway Response End  =================


二、你期待的结果是什么?实际看到的又是什么?


三、你正在使用的是什么产品,什么版本?在什么操作系统上?


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

2条回答
  • 2021-09-07 11:38

    找到问题了 是因为image.pngblade_client表要配置全才行

    0 讨论(0)
  • 2021-10-13 11:14

    你这怎么没配全

    0 讨论(0)
提交回复