我们有一个客户端应用程序,我们希望通过OIDC启用SSO。客户端应用程序是带有专用后端API的SPA。当前,身份验证是通过Cookie来实现的,并且根据Auth_Cookie的用户在后端实施授权。OIDC身份验证完成后,我们希望继续利用这些现有的基于本地cookie的代码/逻辑,这也避免了将令牌存储在SPA中的需求。
完成身份验证代码PKCE流程后,前端SPA将直接从OP的/token
端点接收ID_Token和Access_Token 。要从ID / Access_Token到达Auth_Cookie,可以采用以下方法:
/authenticate
通过Access_Token进行后端API身份验证调用(例如)由于ID_Token仅适用于客户端应用程序(在此情况下为前端SPA),因此我假设它在此序列中不起作用(尽管从逻辑上讲,您会认为对后端API/authenticate
端点的调用应该提供类似于凭证的内容,例如ID_Token)。
上面的方法是否有意义,是否存在任何安全问题/担忧?是否有其他替代方法/更好的方法来将前端OIDC身份验证上下文实质上转换为cookie?
任何见识或帮助将不胜感激。谢谢。
我认为让您的后端进程进行auth重定向会更容易-使它成为OAuth2客户端而不是SPA。您的SPA不需要令牌,也不需要将访问令牌转移到后端。后端处理程序将接收身份验证代码,它将获取令牌并创建身份验证cookie(具有所有安全性参数)。
如果您需要将SPA保留为OAuth2客户端,那么建议的解决方案可能很好。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句