【问题标题】:Spring Security OAuth2 server side, how to require client_id and client_secret on all requestSpring Security OAuth2 服务器端,如何在所有请求中要求 client_id 和 client_secret
【发布时间】:2013-11-12 00:41:40
【问题描述】:

我正在与 Spring Security OAuth2 集成,但我坚持尝试对每个请求都要求 client_id 和 client_secret。所以我希望我的所有请求都需要 access_token、client_id 和 client_secret,这样可行吗?

【问题讨论】:

    标签: java spring spring-security spring-security-oauth2


    【解决方案1】:

    一切皆有可能。我不确定您为什么要这样做(而且您真的不应该使用请求参数或正文作为秘密),但您只需要添加一个自定义过滤器来获取客户端详细信息并对其进行断言。例如,BasicAuthenticationFilter 之类的东西。

    【讨论】:

    • 我明白了,谢谢。为什么我不应该将参数或正文用于秘密?即使我使用 https 也不行?
    • 最好不要。它们更有可能以不受控制的方式被记录和泄露。
    • 我真的很困惑,那我们应该如何将秘密发送到服务器进行身份验证?
    • 资源服务器不负责验证客户端 - 它信任它在访问令牌中找到的内容。授权服务器必须对客户端进行身份验证(通常通过 HTTP Basic - 即在请求标头中)。
    • 哦,我明白你现在在说什么了。这很有意义。那么我应该如何实现我的用例,我想限制对少数客户端的访问,但资源本身不受保护,即它们不属于资源所有者。
    猜你喜欢
    • 2017-10-20
    • 2019-01-10
    • 2017-12-22
    • 2017-04-27
    • 2018-10-01
    • 2020-02-06
    • 1970-01-01
    • 2016-07-19
    • 2016-01-31
    相关资源
    最近更新 更多