我一直在深入研究 OAuth2 / OpenID Connect(OIDC),在很多方面我都觉得自己更聪明,但在很多方面,我担心一个简单的错误会让我变得脆弱。我正在构建超标准的商业应用程序。所以是时候问路了:
- 平台:Pivotal Cloud Foundry / UAA
- 后端:Spring Boot 1.5.x(但现在看 2.0)
- 前端:反应 SPA
- OAuth2:授权代码授权与
openid
范围
我得到id_token
, access_token
, 和refresh_token
我有一百万个问题,但让我们从基础开始:
可以接受
id_token
并将其发送到浏览器中的反应代码并将其存储在会话存储中吗?否则,UI 究竟应该如何知道有关登录者的信息?如果我有
id_token
,我还关心/userinfo
端点吗?我的猜测是否定的。每次 UI 调用 api 时,它都会传递身份验证代码?spring 代码是否会依次调用
/oauth/token
每次?Spring 代码是否应该(或是否)缓存 auth 代码和返回的令牌之间的关系?