我正在使用组织的Azure AD对公司Web应用程序上的用户进行身份验证。我打算将其作为单租户应用程序。当我运行它时,系统会提示我按照预期使用组织的凭据登录。但是,在提交我的凭据时,出现此错误:
对不起,我们无法登录。
AADSTS50194:应用程序' appId '( appname )未配置为多租户应用程序。在'10 / 15/2018'之后创建的此类应用程序不支持使用/ common端点。使用特定于租户的端点或将应用程序配置为多租户。
问题是,我不想使用/ common端点。这是我的appsettings.json的相关内容:
services.Configure<OpenIdConnectOptions>(AzureADDefaults.OpenIdScheme, options =>
{
options.Authority = options.Authority + "/v2.0/";
options.TokenValidationParameters.ValidateIssuer = false;
});
这是Azure门户中的应用程序设置(主页> AppRegistrations> App> PlatformConfigurations> Authentication):
mint
我的startup.cs(我假设设置了相关的端点)直接来自Microsoft提供的示例:
false
我还将踢球的true
设置为{{1}},但结果相同。
我在做什么错,在这里?为什么Azure AD继续相信我要使用/ common终结点?
编辑:当我继续搜索时,我碰巧遇到了@ jack-jia的答案:
我还没有完全解决我的问题,但是他们的回答提供了一些有希望的线索。
答案 0 :(得分:1)
由于您已将其配置为Azure门户上的单个租户应用程序,因此由于错误的授权终结点而必须发生此问题。请再次检查 options.Authority 的值。如果将其标识为单个租户,则可以使用Fiddler捕获请求,该请求类似于
GET https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize?
client_id=6731de76-14a6-49ae-97bc-6eba6914391e
&response_type=id_token
&redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F
&response_mode=form_post
&scope=openid
&state=12345
&nonce=678910
检查端点是否正确。