【发布时间】:2021-12-16 22:27:49
【问题描述】:
我正在处理一个包含单页应用程序和后端服务的项目。访问此应用程序的唯一方法是通过 One Login 帐户。我的 FE 通过 Oauth2 + Open ID Connect 与 One Login 集成以进行身份验证。
用户登录后,FE有Access Token和ID Token,所以我们可以得到一些用户信息,比如:email, name,... 这可以用于认证部分。
但是对于授权部分,FE需要传递一个token,其中不仅包括用户信息,还包括用户角色等授权信息。 Access Token 或 ID Token 都没有此信息。
我目前的解决方案是:BE 会提供一个 API 给 FE 将 ID Token(它从 One Login 中获得)交换为一个具有足够授权信息的内部 JWT 令牌,然后 FE 将使用内部令牌与 BE 进行通信。我想知道这种方法是否存在安全风险,或者有什么更好的方法?
【问题讨论】:
标签: oauth-2.0 authorization single-sign-on openid-connect