OAuth2实施的授予类型选择

时间:2018-11-30 09:24:47

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

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

1 个答案:

答案 0 :(得分:0)

您可以将ImplicitAuthorization Code流用于单个页面应用程序:

  

为了使单页应用程序使用授权码流,它必须能够向授权服务器发出POST请求。这意味着,如果授权服务器位于其他域中,则该服务器将需要支持适当的CORS标头。如果不支持CORS标头,则该服务可以改用隐式流。   oauth.com

但建议使用授权码流程:

  

通常不建议使用隐式流(某些服务器完全禁止该流)。自最初编写规范以来,行业最佳实践已发生变化,建议公众客户应使用带有PKCE扩展名的授权代码流。 oauth.com