【发布时间】:2018-12-14 16:14:13
【问题描述】:
我正在尝试在我的解决方案中实现身份验证/授权。我在 API Gateway 下有一堆后端服务(包括身份服务)、“前端后端”服务和 SPA(React + Redux)。我已经阅读了有关 OAuth2.0/OpenIdConnect 的信息,但我不明白,为什么我不应该使用资源所有者密码流?
客户端(我的前端服务器的后端)是绝对可信的,我可以简单地将用户登录名/密码发送到服务器,然后将它们转发到身份服务器,接收访问令牌 && 刷新令牌并将刷新令牌存储在内存中( session、Redis 等),并将访问令牌发送到 SPA,SPA 将其存储在本地存储中。如果 SPA 将使用过期的访问令牌发送请求,服务器将使用刷新令牌请求新的请求,并使用新的访问令牌将请求转发到 API Gateway。
我认为在我的情况下,带有重定向的流程可以提供有价值的用户体验,但过于复杂。
我误解了什么?如果我如上所述实施身份验证/授权,我会遇到什么坑?
【问题讨论】:
标签: oauth-2.0 jwt single-page-application identityserver4 openid-connect