我们正在构建一个带有SPA客户端(reactjs)和nodejs服务器的全栈应用程序,它们在API Rest中发布资源。
我需要使用像azuread或keycloack这样的身份提供商对用户进行身份验证。
我想使用(基于Oauth2的) OpenIdConnect协议,但是我不知道我需要哪个流。
我读到使用PKCE的授权代码是最适合SPA的,但我不明白为什么?如果我获得了access_token,我可以将其保存在SPA中的什么位置?保存此令牌是否安全?
对于此架构,您建议使用哪种流程?
发布于 2021-01-07 15:48:39
在OAuth 2.1中,这是非常简单的。
只有两个流可以选择表单:
当你有一个用户involved.
不再推荐所有其他流。
如果您不想在SPA应用程序中处理令牌,则可以让后端为您处理所有令牌,如下图所示:

在SPA和后端之间,您只有一个传统的cookie会话。
https://stackoverflow.com/questions/65603919
复制相似问题