azure IS4:请求对应用程序的“userAudience”配置无效

ijxebb2r  于 2023-06-24  发布在  其他
关注(0)|答案(2)|浏览(89)

我试图在IdentityServer 4中使用外部登录提供程序。我按照快速入门,一切都工作正常,现在我试图添加微软登录。
我在IS 4的Startup中添加了以下代码:

services.AddAuthentication()
        .AddMicrosoftAccount(o =>
        {
            o.SignInScheme = IdentityServer4.IdentityServerConstants.ExternalCookieAuthenticationScheme;
            o.ClientId = "yadayada";
            o.ClientSecret = "yoyoyoyo";
        });

在Azure Portal中,我定义了范围:

  • 开放的
  • 剖面

输入Microsoft用户名/密码后,我收到此错误:

**异常:**invalid_request;说明=请求对于应用程序的“userAudience”配置无效。为了使用/common/ endpoint,应用程序不能配置为“Consumer”作为用户受众。userAudience应配置为“All”以使用/common/ endpoint。
**例外情况:处理远程登录时遇到错误。**Microsoft.AspNetCore.Authentication.RemoteAuthenticationHandler.HandleRequestAsync()IdentityServer4.Hosting.FederatedSignOut.AuthenticationRequestHandlerWrapper.HandleRequestAsync()Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext上下文)IdentityServer4.Hosting.BaseUrlMiddleware.Invoke(HttpContext上下文)Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext上下文)
***编辑:***这是Asp.NET Core中的一个bug。跟踪这里:https://github.com/dotnet/AspNetCore.Docs/issues/19795

yqkkidmi

yqkkidmi1#

我得到了同样的错误。我可以通过重新创建 * 应用注册 * 并选择 * 支持的帐户类型 * 来修复它:

  • 任何组织目录中的帐户和个人Microsoft帐户。
uqcuzwp8

uqcuzwp82#

您可以简单地转到门户Azure面板,打开Manifest部分,并将signInAudience的值从PersonalMicrosoftAccount更改为AzureADandPersonalMicrosoftAccount。如果不存在,则同时创建key和value。

相关问题