问题描述
在网络上搜索,我发现如果网站使用的是MSAL。 js ,则网站开发人员可以提供域提示,这样,当用户开始登录时,系统不会提示他们“在Microsoft的登录站点上选择一个帐户”,然后库为它们选择帐户,从而提供更好的单点登录体验。 在C#应用程序中使用MSAL.NET时,是否可以提供域提示(或者避免使用“选择帐户”提示)?
我正在使用MSAL.NET通过Open ID Connect对Azure AD进行身份验证。
解决方法
找到了。在ConfigureServices(IServiceCollection)
中,为OnRedirectToIdentityProvider添加一个事件处理程序。
var events = new OpenIdConnectEvents()
{
OnRedirectToIdentityProvider = context =>
{
context.ProtocolMessage.DomainHint = "mydomain.com";
return Task.CompletedTask;
},}
services.Configure<OpenIdConnectOptions>(
AzureADDefaults.OpenIdScheme,options =>
{
// ...
options.Events = events;
}
);