我正在寻找使用IdentityServer4自动化代码流的最佳方法。
我的应用程序系统非常普通:我有一个MVC客户端,一个WebAPI和IS。我还使用AJAX从客户端请求API。所以我需要客户端的访问令牌将其放入授权头。
将访问令牌存储在Cookie中是个好主意吗?
我是否需要自包含或引用令牌(我认为这与安全性有关)?
过期时续订的最佳方法是什么?
我想到了两个策略:
你能帮我找到最好的方法吗?
答案 0 :(得分:0)
“将访问令牌存储在cookie中是个好主意吗?”
否,不包括授权码流程。如果您使用的是MVC的Web应用程序,你应该找到某种来自浏览器的数据存储离开的方式来存储令牌。所有MVC应用程序应该管理的是一个cookie,以访问将来的MVC端点(它将使用数据存储区中的相应访问令牌对Identity Server进行后续调用)。
“我是否需要自包含或参考令牌(我想这是关于安全性的?)”
这完全取决于您,您认为最适合您的用例。如果您想查看访问令牌中的信息,并跳过多余的后端调用进行验证,请使用参考令牌。策略2要求您使用独立的令牌,以便您检查到期时间。
“您能帮我找到最好的方法吗?
我不知道我能否给出“最佳”方法,但我可能会选择策略2并使用自包含令牌。
编辑:如果您想使用“ axios,从API中获取数据”,那么我建议您使用没有刷新令牌概念的隐式流。在这种情况下,可以将其保留在Cookie中。