尝试使用 Microsoft 帐户登录时收到“unauthorized_client”

Far*_*rid 4 azure azure-active-directory

在我的 IS4 的 Startup.cs 中:

services.AddAuthentication()
        .AddMicrosoftAccount(o =>
        {
            o.SignInScheme = IdentityServer4.IdentityServerConstants.ExternalCookieAuthenticationScheme;
            o.ClientId = "clientId";
            o.ClientSecret = "clientSecret";
        });
Run Code Online (Sandbox Code Playgroud)

我已经定义了范围:

  • 开放ID
  • 轮廓

我尝试登录后收到错误:

unauthorized_client:客户端不存在或未为消费者启用。如果你是应用程序开发人员,请通过 Azure 门户中的应用程序注册配置新应用程序,网址为https://go.microsoft.com/fwlink/?linkid=2083908

这是一个网络应用程序。那么我在这里做错了什么:

我假设客户端 ID 是这样的: 在此输入图像描述

我的客户秘密是这样的: 在此输入图像描述

我还设置了重定向 URI:

在此输入图像描述

Joy*_*ang 13

该错误意味着Supported account types没有为个人帐户(您的情况为 Microsoft 帐户)设置。

要解决此问题,请导航到Manifest您的应用程序注册,设置两个属性accessTokenAcceptedVersionsignInAudience如下所示。

"accessTokenAcceptedVersion": 2,
"signInAudience": "AzureADandPersonalMicrosoftAccount"
Run Code Online (Sandbox Code Playgroud)

当您保存设置时,请确保您的应用程序满足验证的要求,否则会出现一些错误。