【发布时间】:2021-10-03 20:48:59
【问题描述】:
提供客户端存储选项的浏览器哪个更好?
【问题讨论】:
标签: angular oauth-2.0 keycloak pkce angular-oauth2-oidc
提供客户端存储选项的浏览器哪个更好?
【问题讨论】:
标签: angular oauth-2.0 keycloak pkce angular-oauth2-oidc
在本地存储中存储访问令牌取决于您的应用程序的可见性。它是面向公众的 Web 应用程序还是内部组织的 Web 应用程序?
如果是面向公众的 Web 应用程序,则访问令牌至少应具有较短的有效期。这是为了尽量减少共享同一台计算机的其他用户访问活动会话的可能性。
或者,您可以使用 sessionStorage(请参阅https://developer.mozilla.org/en-US/docs/Web/API/Window/sessionStorage)
在浏览器窗口或浏览器选项卡关闭之前一直保存该值。这比使用 localStorage 稍微好一点(参见https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage)
除了使用浏览器本地或会话存储之外,您还可以实现自己的后端会话管理服务或使用基于云的会话存储提供程序(例如 Auth0 或 Okta)为您处理存储。这样您就不必担心浏览器存储令牌的会话劫持。建议将其用于高使用率、高可见度的面向公众的 Web 应用程序。
当用户通过身份验证时,当您从身份服务器获取访问令牌时,可以读取用户详细信息。这样您就不必执行额外的请求来获取其他用户详细信息。
【讨论】: