我已经注册了一个 AzureAD 应用程序,它是公共客户端/本机客户端。
我在门户中使用 Azure 生成的标准代码。
重要的是
static App()
{
_clientApp = PublicClientApplicationBuilder.Create(ClientId)
.WithLogging((level, message, containsPii) =>
{
System.Diagnostics.Debug.WriteLine("*************************");
System.Diagnostics.Debug.WriteLine($"{level}: {message}");
}, LogLevel.Verbose, true, true)
.WithAuthority($"{Instance}{Tenant}")
.WithRedirectUri(RedirectURI)
.Build();
TokenCacheHelper.EnableSerialization(_clientApp.UserTokenCache);
}
and
authResult = await app.AcquireTokenInteractive(scopes)
.WithAccount(accounts.FirstOrDefault())
.WithParentActivityOrWindow(new WindowInteropHelper(this).Handle) // optional, used to center the browser on the window
.WithPrompt(Prompt.SelectAccount)
.ExecuteAsync();
返回的错误是;
“AADSTS7000218:请求正文必须包含以下参数:
“client_assertion”或“client_secret”。
遵循什么例如,我在这里和大多数地方都读过 https://blogs.aaddevsup.xyz/2019/08/receiving-error-aadsts7000218-the-request-body-must-contain-the-following-parameter-client_assertion-or-client_secret/在 AzureAD 中,我已将默认类型更改为公共客户端。
我仍然遇到同样的错误。
我已经启用了日志记录,我想我有下面的相关部分
信息:(错误)MSAL 4.13.0.0 MSAL.Desktop Microsoft Windows NT 6.2.9200.0(UnknownClient:0.0.0.0)从 /authorize 端点检索到授权代码。
信息:(False)MSAL 4.13.0.0 MSAL.Desktop Microsoft Windows NT 6.2.9200.0(UnknownClient:0.0.0.0)交换令牌的身份验证代码
信息:(假)MSAL 4.13.0.0 MSAL.Desktop Microsoft Windows NT 6.2.9200.0(UnknownClient:0.0.0.0)=== InteractiveParameters 数据 ===
提供的登录提示:False
用户提供:错误
UseEmbeddedWebView:未指定
同意的额外范围:
提示:选择帐户
HasCustomWebUi:假
信息:(False)MSAL 4.13.0.0 MSAL.Desktop Microsoft Windows NT 6.2.9200.0(UnknownClient:0.0.0.0)响应状态代码不指示成功:401(未经授权)。
警告:(错误)MSAL 4.13.0.0 MSAL.Desktop Microsoft Windows NT 6.2.9200.0(UnknownClient:0.0.0.0)请求重试失败。
信息:(假)MSAL 4.13.0.0 MSAL.Desktop Microsoft Windows NT 6.2.9200.0(UnknownClient:0.0.0.0)HttpStatusCode:401:未经授权
错误:(正确)MSAL 4.13.0.0 MSAL.Desktop Microsoft Windows NT 6.2.9200.0(UnknownClient:0.0.0.0)MSAL.Desktop.4.13.0.0.MsalServiceException:
错误代码:invalid_client
Microsoft.Identity.Client.MsalServiceException:配置问题正在阻止身份验证 - 检查来自服务器的错误消息以了解详细信息。您可以在应用程序注册门户中修改配置。看https://aka.ms/msal-net-invalid-client https://aka.ms/msal-net-invalid-client了解详情。原始异常:AADSTS7000218:请求正文必须包含以下参数:“client_assertion”或“client_secret”。
我似乎获得了授权码,但未能获得令牌。错误为 401(未经授权)。
有人可以帮我理解这一点吗?