【问题标题】:Grant type selection for OAuth2 implementationOAuth2 实施的授权类型选择
【发布时间】:2019-05-02 10:29:40
【问题描述】:

我想使用 Spring Boot 微服务构建一个基于 Web 的应用程序。我计划使用 OAuth2 和 OpenID Connect 在我的应用程序中实现身份验证和授权。如果我的应用程序将是单页应用程序(Angular.js 用于前端 Spring Boot 服务用于后端),我必须选择什么授权类型来实现 OAuth2?

【问题讨论】:

    标签: spring spring-boot spring-security oauth-2.0 microservices


    【解决方案1】:

    您可以将ImplicitAuthorization Code 流与单页应用程序一起使用:

    为了让单页应用程序使用授权代码流,它必须能够向授权服务器发出 POST 请求。这意味着如果授权服务器位于不同的域中,则服务器将需要支持适当的 CORS 标头。如果支持 CORS 标头不是一个选项,那么服务可以使用隐式流来代替。 oauth.com

    但建议使用授权码流程:

    一般不推荐使用隐式流(有些服务器完全禁止这种流)。自最初编写规范以来,行业最佳实践已更改为建议公共客户端应改为使用带有 PKCE 扩展的授权代码流。 oauth.com

    【讨论】:

    • 但建议使用授权码流程不,一般情况下不可以,只能与与PKCE结合使用。
    猜你喜欢
    • 2018-11-04
    • 2020-05-05
    • 2021-04-24
    • 1970-01-01
    • 1970-01-01
    • 2018-05-26
    • 1970-01-01
    • 2013-09-07
    • 2018-12-28
    相关资源
    最近更新 更多