AADSTS70005:响应类型“id_token”未启用该应用程序
即使在清单中设置了"oauth2AllowImplicitFlow": true
,我仍然遇到上述错误。
AADSTS70005:响应类型“id_token”未启用该应用程序
即使在清单中设置了"oauth2AllowImplicitFlow": true
,我仍然遇到上述错误。
我遇到了错误:
AADSTS700054:响应类型“id_token”未启用该应用程序。
解决方法是设置:
{
"oauth2AllowIdTokenImplicitFlow" : true
}
在Azure活动目录中,应用程序清单
错误: OpenIdConnectMessage.Error 不为 null,表示出现了错误。错误信息:'unsupported_response_type'。
这个错误的原因是Azure AD没有返回任何访问令牌或身份验证令牌。需要启用Azure AD中的复选框以返回令牌,在完成身份验证后。
如何解决:前往Azure AD => 应用程序注册 => 点击“身份验证”选项卡 => 启用访问令牌和身份验证令牌的复选框。
确保您的清单文件中没有两个 oauth2AllowImplicitFlow
关键字 - 在我的情况下,我已经添加了该关键字,但该关键字已经存在,且其值已设置为 false。希望这解决了问题 :)
正如你们中的许多人所说,如果你确实需要ID令牌,那么你需要启用ID令牌(用于隐式和混合流)
。
'AADSTS700054:响应类型“id_token”未启用该应用程序。
但是,如果您使用授权代码流
,则实际上不需要它。Microsoft OpenID Connect身份验证(Microsoft.AspNetCore.Authentication.OpenIdConnect
)将id_token
作为默认的ResponseType
用于OpenIdConnect
和JwtSecurityTokenHandler
。
AddOpenIdConnect
,您可以将ResponseType
设置为OpenIdConnectResponseType.Code
或简单地设置为"code"
,然后您根本不需要id_token
。services.AddAuthentication()
.AddOpenIdConnect("aad", "Azure AD", options =>
{
options.ClientSecret = "<ClientSecret>";
options.ResponseType = OpenIdConnectResponseType.Code;
options.ClientId ="<ClientId>";
options.Authority = "https://login.microsoftonline.com/<TenantId>/";
options.CallbackPath = "/signin-oidc";
})
.AddIdentityServerJwt();
http://docs.identityserver.io/en/latest/topics/signin_external_providers.html
我遇到了类似的问题,当我访问ActiveDirectory -> 应用程序注册页面时,它没有显示新的用户界面。
而且它不允许我在元数据中设置标志,但我找到了解决方法。
首先登录到您的实例,修改上面的URL以粘贴您的应用程序的对象ID和应用程序ID。
然后它应该显示@Mosè Bottacini发布的屏幕。
我偶然发现了这篇文章,因为我在我的Azure应用服务中遇到了完全相同的问题。我通过使用错误消息中的确切重定向URL并将其添加到应用程序注册的URL列表中来解决了这个问题。