ASP.NETMVC使用MSAL进行后续登录时缓存为空
创始人
2024-09-19 07:00:35
0次

在MSAL中,TokenCache是用于缓存令牌和刷新令牌的关键组件。如果在退出应用程序后重新登录,TokenCache应该仍然包含有效的令牌。但是,当使用ASP.NET MVC进行后续登录时,TokenCache可能会为空,这可能是由于在重新登录时未正确设置TokenCache的原因。

解决此问题的一种方法是在重新登录后使用TokenCache。在HomeController中,您可以使用以下代码来获取缓存并从中获取刷新令牌:

TokenCache tc = new SessionTokenCache(User.Identity.Name, HttpContext);
AuthenticationContext authContext = new AuthenticationContext(authority, tc);
// Get the cached token
result = await authContext.AcquireTokenSilentAsync(todoListResourceId, clientId, UserIdentifier.Any);

其中,SessionTokenCache是自定义缓存类,它从Session中获取和保存令牌。

另一个可行的解决方法是使用AcquireTokenAsync函数来获取令牌。在HomeController中,您可以使用以下代码来获取令牌:

AuthenticationContext authContext = new AuthenticationContext(authority);
result = await authContext.AcquireTokenAsync(todoListResourceId, clientId, redirectUri, new PlatformParameters(PromptBehavior.Auto));

使用此方法获取令牌时,MSAL将自动将令牌写入TokenCache中,因此您不需要自己设置TokenCache。

无论您选择哪种解决方法,都应该能够在ASP.NET MVC使用MSAL进行后续登录时解决缓存为空的问题。

相关内容

热门资讯

交流学习经验外挂脚本!赫麒众游... 交流学习经验外挂脚本!赫麒众游多功能外挂脚本,赫麒众游原来存在有外挂脚本1、每一步都需要思考,不同水...
分享一款外挂教程!玩棋牌斗地主... 分享一款外挂教程!玩棋牌斗地主多功能外挂教程,玩棋牌斗地主都是有外挂教程1、进入游戏-大厅左侧-新手...
玩家必备教程辅助器插件!桃乐甘... 玩家必备教程辅助器插件!桃乐甘肃麻将多功能辅助器插件,桃乐甘肃麻将都是真的有辅助器插件1、桃乐甘肃麻...
信息共享开挂软件!情怀宜春麻将... 信息共享开挂软件!情怀宜春麻将多功能开挂软件,情怀宜春麻将好像真的是有开挂软件1、情怀宜春麻将免费脚...
实测交流辅助攻略!青橙竞技多功... 实测交流辅助攻略!青橙竞技多功能辅助攻略,青橙竞技都是真的有辅助攻略进入游戏-大厅左侧-新手福利-激...
必备辅助推荐透视器工具!pan... 必备辅助推荐透视器工具!panda多功能透视器工具,panda都是真的是有透视器工具1、这是跨平台的...
玩家必看科普透视挂教程!呼包鄂... 玩家必看科普透视挂教程!呼包鄂游戏多功能透视挂教程,呼包鄂游戏切实是真的有透视挂教程1、呼包鄂游戏辅...
玩家亲测透视挂技巧!开心娱乐多... 玩家亲测透视挂技巧!开心娱乐多功能透视挂技巧,开心娱乐竟然是有透视挂技巧1、进入游戏-大厅左侧-新手...
推荐一款开挂app!白金岛跑得... 推荐一款开挂app!白金岛跑得快多功能开挂app,白金岛跑得快好像有开挂app1、让任何用户在无需白...
重大推荐透视挂app!广东麻将... 重大推荐透视挂app!广东麻将多功能透视挂app,广东麻将果然有透视挂app1、完成广东麻将有辅助插...