【问题标题】:Spring Security OAuth 2 Password Grant Disable Query ParametersSpring Security OAuth 2 密码授予禁用查询参数
【发布时间】:2021-03-25 18:12:33
【问题描述】:

我正在使用spring-security-oauth2 授权服务器。我正在使用密码授权进行 oauth 身份验证。目前,这允许用户发送用户名和密码作为查询参数。这是不安全的,因为密码不受 HTTP 保护。为了处理这个问题,我的前端通过 HTTPS 将重要信息作为请求正文的一部分发送。

我们使用springfox-swagger2 来生成 API 规范。由于允许查询参数,因此规范会根据需要生成这些字段,如您在此 中看到的那样

规范还包含一个可选的主体: 我想知道有什么解决方法可以解决这个问题,因为我们会根据 swagger 规范自动生成打字稿模型,并且每次我们对规范进行任何更改时,都会替换类型的任何手动前端更改。

【问题讨论】:

  • 我也不明白这里有什么问题。但它看起来像是一个过度设计的解决方案。为什么 API 需要密码授权和专用的身份验证方法?它看起来不太安全,因为 API 可以访问用户凭据。为什么你不使用内置的 swagger 身份验证选项swagger.io/docs/specification/authentication/oauth2,你可以在其中指定 IdP 详细信息,然后 API 只需要验证 JWT 令牌?

标签: spring spring-boot spring-security spring-security-oauth2


【解决方案1】:

查询字符串使用 HTTPS 加密,但还有其他原因不使用敏感数据的查询参数,例如可以记录查询字符串的服务器日志,更多详细信息请参见 https://stackoverflow.com/a/323286/1536382

剩下的我不明白是什么问题,是什么意思

由于允许查询参数

在哪里被允许?这方面的具体说明是什么?

【讨论】:

    猜你喜欢
    • 2019-02-11
    • 2016-06-17
    • 2014-06-10
    • 1970-01-01
    • 1970-01-01
    • 2020-09-08
    • 2017-01-10
    • 1970-01-01
    • 2014-09-02
    相关资源
    最近更新 更多