ASP.NET使用Microsoft Identity如何禁用KMSI(Keep Me Signed In)提示
你可以在重定向到身份提供方的事件逻辑中,额外添加单次认证请求级的disable_kmsi参数即可禁用KMSI提示,无需修改租户全局配置。
修改后的配置代码如下:
services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme) .AddMicrosoftIdentityWebApp(options => { options.CallbackPath = ...; // 保留你原有的回调路径配置 options.Events.OnRedirectToIdentityProvider = c => { c.ProtocolMessage.Prompt = "login"; // 追加禁用KMSI的请求参数 c.ProtocolMessage.Parameters.Add("disable_kmsi", "true"); return Task.CompletedTask; }; });
参数说明:
disable_kmsi是微软身份平台开放的单次授权请求参数,设置为true后会直接跳过「保持登录状态」的勾选提示页面,强制用户完成登录凭证输入,该配置仅作用于当前应用的认证请求,不会影响租户内其他应用的认证逻辑。
内容的提问来源于stack exchange,提问作者mquickel
相关产品推荐
相关产品推荐

