gpt4 book ai didi

blazor - 如何自定义 Blazor WebAssembly Msal 身份验证以将 token 存储在 localStorage 而不是 sessionStorage 中?

转载 作者:行者123 更新时间:2023-12-04 00:17:37 25 4
gpt4 key购买 nike

语境
我正在处理 Secure an ASP.NET Core Blazor WebAssembly standalone app with Azure Active Directory B2C在我的 Blazor WebAssembly 应用程序中启用客户端身份验证的指南(没有服务器端组件,整个应用程序在浏览器中运行)。设置按预期工作,我能够将用户重定向到 AD B2C 用户流、登录并重定向回我的应用程序,并且用户经过正确身份验证。
问题
默认身份验证行为会保留从 sessionStorage 内部的 AD B2C 检索的 JWT token 。 , 浏览器窗口关闭后会立即清除。我想自定义此默认功能以将 token 保留到 localStorage对于更长时间的身份验证 session - 我希望在用户关闭浏览器窗口后让用户登录以进行后续访问。文档似乎没有提供任何关于我如何实现这一点的信息。
我还查看了 Additional Scenarios文档到下如何 RemoteAuthenticatorView可能是自定义的,但无法找到与如何存储和检索这些 token 相关的任何信息。
我很感激这方面的任何指导!

最佳答案

我已经通过浏览 MSAL.js 弄明白了文档:有一个 cacheLocation可以设置为 的配置属性本地存储 , 和 Microsoft.Authentication.WebAssembly.Msal.Models.MsalProviderOptions暴露该属性。
为了让它工作,我只是将以下内容添加到 程序.cs :

builder.Services.AddMsalAuthentication(options =>
{
options.ProviderOptions.Cache.CacheLocation = "localStorage";
...
});

关于blazor - 如何自定义 Blazor WebAssembly Msal 身份验证以将 token 存储在 localStorage 而不是 sessionStorage 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62700536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com