如何使用带有 msal 身份验证的 React 应用程序在 Chrome 中删除有关 samesite 的警告
How to remove warning about samesite in Chrome using a React App with msal Authentication
我们有一个 React 应用程序,我们正在对 AAD 使用 msal 身份验证。用户第一次登录应用程序并调用 acquireTokenSilent
获取令牌时,我们收到此警告
我们尝试调用:document.cookie = "cross-site-cookie=bar, SameSite=None, Secure";
但我们继续收到此警告。
当应用程序部署在 Azure 服务中时,情况更糟。 acquireTokenSilent
returns一个ClientAuthError Token renewal operation failed due to time out
。如果用户刷新页面然后它获取令牌并且警告消失。
我们怎样才能消除这个警告?
我们得到的 ClientAuthError
是否与此警告相关(这仅在我们收到此警告后发生)?
您需要找到最初设置此 cookie 的位置并提供适当的 SameSite
属性。请记住 - 只有当您 确实希望 在跨站点/第三方环境中发送此 cookie 时,才需要 SameSite=None; Secure
。如果 cookie 仅用于您自己的站点,请考虑使用 SameSite=Lax
甚至 SameSite=Strict
.
已更新 评论者正确地指出错误中列出的域显然是 microsoftonline.com
,这不是提交者的站点。我的建议只有在提交者谈论他们自己网站的 cookie 时才适用。
Login.microsoftonline.com 和 login.live.com 已于 2019 年底更新,以在跨域请求所需的 cookie 上正确设置 SameSite=None 标志。然而,我们还有许多其他不需要跨域的 cookie,并且这些 cookie 没有标记,以减少我们对实时系统进行的更改量。这可能会导致 Chrome 控制台中出现一些警告,对于 login.microsoftonline.com 和 login.live.com 域,您可以安全地忽略这些警告。
我们有一个 React 应用程序,我们正在对 AAD 使用 msal 身份验证。用户第一次登录应用程序并调用 acquireTokenSilent
获取令牌时,我们收到此警告
我们尝试调用:document.cookie = "cross-site-cookie=bar, SameSite=None, Secure";
但我们继续收到此警告。
当应用程序部署在 Azure 服务中时,情况更糟。 acquireTokenSilent
returns一个ClientAuthError Token renewal operation failed due to time out
。如果用户刷新页面然后它获取令牌并且警告消失。
我们怎样才能消除这个警告?
我们得到的 ClientAuthError
是否与此警告相关(这仅在我们收到此警告后发生)?
您需要找到最初设置此 cookie 的位置并提供适当的 SameSite
属性。请记住 - 只有当您 确实希望 在跨站点/第三方环境中发送此 cookie 时,才需要 SameSite=None; Secure
。如果 cookie 仅用于您自己的站点,请考虑使用 SameSite=Lax
甚至 SameSite=Strict
.
已更新 评论者正确地指出错误中列出的域显然是 microsoftonline.com
,这不是提交者的站点。我的建议只有在提交者谈论他们自己网站的 cookie 时才适用。
Login.microsoftonline.com 和 login.live.com 已于 2019 年底更新,以在跨域请求所需的 cookie 上正确设置 SameSite=None 标志。然而,我们还有许多其他不需要跨域的 cookie,并且这些 cookie 没有标记,以减少我们对实时系统进行的更改量。这可能会导致 Chrome 控制台中出现一些警告,对于 login.microsoftonline.com 和 login.live.com 域,您可以安全地忽略这些警告。