程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Spring Security OAuth 2.0-授权代码授予始终需要客户端机密大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Spring Security OAuth 2.0-授权代码授予始终需要客户端机密?

开发过程中遇到Spring Security OAuth 2.0-授权代码授予始终需要客户端机密的问题如何解决?下面主要结合日常开发的经验,给出你关于Spring Security OAuth 2.0-授权代码授予始终需要客户端机密的解决方法建议,希望对你解决Spring Security OAuth 2.0-授权代码授予始终需要客户端机密有所启发或帮助;

使用allowFormAuthenticationForClIEnts()下面的代码示例中所示的方法,可以使用表单参数而不是基本身份验证来验证客户端。

class AuthorizationServerConfigurer extends AuthorizationServerConfigurerAdapter {

    @OverrIDe
    voID configure(AuthorizationServerSecurityConfigurer security) {
        security
                .tokenKeyAccess("permitAll()")
                .checkTokenAccess("isAuthenticated()")
                .allowFormAuthenticationForClIEnts()
    }
}

allowFormAuthenticationForClIEnts()方法触发的添加,ClIEntCredentialsTokenEndpointFilter从而允许通过表单参数进行身份验证。

解决方法

根据规范,不要求使用授权码补助金的令牌的请求作为要被认证,只要client_id是包含在请求和所述client_id是相同的一个用于生成所述代码。但是,使用Spring Security OAuth 2.0实现,/oauth/token即使从未为客户端分配秘密,端点上始终总是需要基本身份验证。

似乎由于接口中的isSecretrequired()方法,似乎支持允许客户端没有秘密ClientDetails。为了使没有秘密的客户端能够在/oauth/tokenURL上进行身份验证,我该怎么做?

4.1.3。访问令牌请求

客户端通过 按照附录B
使用“ application / x-www-form-urlencoded”
格式通过http
请求实体正文中的UTF-8字符编码发送以下参数来向令牌端点发出请求:

grant_type必填。值必须设置为“ authorization_code”。

所需的代码。从授权服务器收到的授权码。

redirect_uri要求,如果“ redirect_uri”参数如第4.1.1节所述包含在授权请求中,则它们的值必须相同。

如果客户端未按照第3.2.1节中所述向授权服务器进行身份验证,则需要client_id。

如果客户端类型是机密的,或者向客户端颁发了客户端凭据(或分配了其他身份验证要求),则
客户端必须按照
3.2.1节中的说明,通过授权服务器进行身份验证。

大佬总结

以上是大佬教程为你收集整理的Spring Security OAuth 2.0-授权代码授予始终需要客户端机密全部内容,希望文章能够帮你解决Spring Security OAuth 2.0-授权代码授予始终需要客户端机密所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。