Angular - 在浏览器 cookie 中存储 MSAL AccessToken

问题描述

有没有办法配置 msal-angular 以将其 accesstoken 配置存储在 cookie 中,而不是存储在 localStorage/sessionStorage 中。

我对将令牌存储在 localStorage/sessionStorage 中存在安全问题。

Github 上也报告了此类问题(检查 here

我还将 storeAuthStateInCookie 设置为 true,但这也不限制在 localStorage 中保存 accesstoken。

经过研究,我发现这是 MSAL 库中的一个限制。我的问题是有人特意实现了这个功能吗?

使用的库版本:

  1. @azure/msal-angular: 1.0.0-beta.4
  2. msal:1.2.1

解决方法

看起来您无法通过 msal-angular 执行此操作,storeAuthStateInCookie 不适用,它用于修复 issues due to security zones,不适用于 msal-angular

此修复尚不适用于 msal-angular 和 msal-angularjs 包装器。此修复程序未解决弹出窗口的问题。

也来自这个GitHub issue

Cookie 旨在作为 localstorage/sessionstorage 的补充,而不是替代。引入它是为了解决 IE TrustedZones 的问题。过去我们不支持独占 cookie 存储。

@Highspeed7 我们正在进行库的重大更新,一旦我们发布当前的作品更改,我们很乐意考虑这一点。 @navyasric 将此添加到我们的路线图中,并在我们计划支持时更新此线程。

也许将来它会支持这个,但目前它不能这样做。