我想使用Spring Boot微服务构建一个基于Web的应用程序。我打算使用OAuth2和OpenID Connect在我的应用程序中实现身份验证和授权。如果我的应用程序将是单页应用程序(对于后端的前端Spring Boot服务是Angular.js),我必须选择哪种授权类型来实现OAuth2?
答案 0 :(得分:0)
您可以将Implicit或Authorization Code流用于单个页面应用程序:
为了使单页应用程序使用授权码流,它必须能够向授权服务器发出POST请求。这意味着,如果授权服务器位于其他域中,则该服务器将需要支持适当的CORS标头。如果不支持CORS标头,则该服务可以改用隐式流。 oauth.com
但建议使用授权码流程:
通常不建议使用隐式流(某些服务器完全禁止该流)。自最初编写规范以来,行业最佳实践已发生变化,建议公众客户应使用带有PKCE扩展名的授权代码流。 oauth.com