OpenID Connect(OIDC)v2 login_hint登录不起作用



我已经注意到,在我的.NET Core Project使用 openID Connect(oidc(v2 之后,我将提示我在sign-上选择一个帐户即使我已经配置了OnRedirectToIdentityProviderForSignOut使用LoginHint

我在文档中找不到任何内容。我的配置是:

services.AddAuthentication(AzureADDefaults.AuthenticationScheme)
      .AddAzureAD(options =>
      {
          Configuration.Bind("AzureAd", options);
      });
services.Configure<OpenIdConnectOptions>(AzureADDefaults.OpenIdScheme, options =>
  {
       options.Authority = options.Authority + "/v2.0/";
       options.TokenValidationParameters.NameClaimType = "preferred_username";
       // Handling the sign-out
       options.Events.OnRedirectToIdentityProviderForSignOut = async context =>
       {
           var user = context.HttpContext.User as ClaimsPrincipal;
           string displayName = user.FindFirstValue("preferred_username");
           // Avoid displaying the select account dialog
           context.ProtocolMessage.LoginHint = displayName;
           context.ProtocolMessage.DomainHint = "organizations";
           await Task.FromResult(0);
        };
   });

那么,在.NET Core Project上使用 oidc v2 登录时,我如何避免使用帐户选择屏幕?

当前无法避免这种情况,这是通过v2上的AAD服务设计的。服务团队添加了此V2行为以进行额外的安全性。您可以参考此GitHub问题以获取更多详细信息。

最新更新