当前位置: 首页 > 知识库问答 >
问题:

Spring Security OAuth2用户凭据不正确

欧博简
2023-03-14

嗨,我有一个用于OAuth2的spring配置xml文件。我对它进行了这样的配置,即需要参数和效果curl来请求令牌。它会发出以下请求:

curl-x post-v http://localhost:8080/oauth/token-d“grant_type=password&client_id=test&client_secret=test&username=user1&password=password1”

我希望如果提示用户名和密码错误的令牌,它会生成一个json自定义错误。我该怎么办?

谢谢

共有1个答案

蔚宏大
2023-03-14

如果您想添加其他信息,请从“TokenEnhancer”中隐含一个自定义的“OAuthTokenEnhancer”类。并且在增强方法中可以添加附加信息。

 @Override
    public OAuth2AccessToken enhance(OAuth2AccessToken accessToken, OAuth2Authentication authentication) {
        DefaultOAuth2AccessToken result = (DefaultOAuth2AccessToken) accessToken;
        final Map<String, Object> additionalInformation = new HashMap<>();
        additionalInformation.put("prop name", "value");
        result.setAdditionalInformation(additionalInformation);

        return result;
    }

如果要返回自定义错误,可以在自定义“AuthenticationProvider”(“Authenticate”方法)中使用自定义异常,例如:

if(!checkpassword()){
     authentication.setAuthenticated(false);
     throw new BadCredentialsException(ERROR_MESSAGE);
}
 类似资料:
  • 所以我试图克隆一个git存储库,但它不断抛出一个关于身份验证失败的错误。 错误如下: 我已经检查了我的配置,存储库的用户名和密码是正确的,但不知何故克隆无法工作。 关于我现在能做什么的任何提示?

  • 显示我以前输入的凭据。 我希望让httpd使用我以前提供给aws配置的凭据,但不确定如何做到这一点。

  • 当授权范围限于客户端控制下的受保护资源或事先与授权服务器商定的受保护资源时客户端凭据可以被用作为一种授权许可。典型的当客户端代表自己表演(客户端也是资源所有者)或者基于与授权服务器事先商定的授权请求对受保护资源的访问权限时,客户端凭据被用作为授权许可。

  • 有人用这种方法吗?https://laravel.com/docs/5.4/passport#client-凭证授予代币 我试图使注册API只包含client_id和client_secret,我希望返回作为访问令牌、刷新令牌、过期日期,但返回www.url。com/oauth/token这是什么 有人能帮我吗?提前谢谢

  • 当客户端是资源所有者时,或者当授权范围限于受客户端控制的受保护资源时,客户端凭证可以用作授权授权。 客户端仅在客户端凭据的帮助下请求访问令牌。 客户端凭证授权流用于获取访问令牌以授权API请求。 使用客户端凭据授权,获取的访问令牌仅授予客户端应用程序搜索和获取目录文档的权限。 下图描绘了客户端凭据流。 上图所示的流程包括以下步骤 - Step 1 - 客户端使用授权服务器进行身份验证,并从令牌端点

  • 问题内容: 如您所见,我有我的数据库连接文件和另一个“受保护的”文件,我的凭据在其中,并且此文件包含在.gitignore中。我导入它并到达数据。很基本。因此,我的问题是: 这是正确的方法吗? 如果没有,我该怎么办?另外:如何为帐户和连接增加额外的安全性? 假设我有一个私人收藏,没人可以看到,我该如何特别保护这个收藏?我的意思是说,用密码或两步验证。 当前代码: 问题答案: …我有我的数据库连接文