如何使应用程序 ID URI 格式正常工作
How to get Application ID URI formats working
我无法让任何 Application ID URI 工作。我有一个 Blazor WebAssembly 托管应用程序,用 ASP.NET Core 5.0 编写。使用 api://<appId>
格式很好,但这在 Terraform 中效果不佳。我可以让我的客户端使用 api://<appId>
与服务器通信,所以我知道代码工作正常。当我交换应用程序 ID URI 以使用任何其他格式时,例如 https://<verifiedCustomDomain>/<string>
或 api://<tenantId>/<string>
,我收到 401 错误。我正在使用经过验证的 Azure AD 域。
我可以看到 <string>
的意思是“主机或 api 路径段的字符串值。”,但我不确定那是什么意思。我一直在测试 <string>
设置为我的应用程序服务的名称以及应用程序注册的名称。我还尝试将应用程序注册从单租户更改为多租户(以防万一)。
如有任何建议,我们将不胜感激。
对于遇到此问题的任何人,解决方案是确保将受众包含在 appsettings.json 的 AzureAD 块中。
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"TenantId": "7867-7866-7687-8678-8678678676",
"ClientId": "5456-6567-5676-5675-5675757565",
"Audience": "https://myapp.example.com"
}
应用程序 ID URI(在应用程序注册中 - 公开 API 部分)应与受众值完全相同。
我无法让任何 Application ID URI 工作。我有一个 Blazor WebAssembly 托管应用程序,用 ASP.NET Core 5.0 编写。使用 api://<appId>
格式很好,但这在 Terraform 中效果不佳。我可以让我的客户端使用 api://<appId>
与服务器通信,所以我知道代码工作正常。当我交换应用程序 ID URI 以使用任何其他格式时,例如 https://<verifiedCustomDomain>/<string>
或 api://<tenantId>/<string>
,我收到 401 错误。我正在使用经过验证的 Azure AD 域。
我可以看到 <string>
的意思是“主机或 api 路径段的字符串值。”,但我不确定那是什么意思。我一直在测试 <string>
设置为我的应用程序服务的名称以及应用程序注册的名称。我还尝试将应用程序注册从单租户更改为多租户(以防万一)。
如有任何建议,我们将不胜感激。
对于遇到此问题的任何人,解决方案是确保将受众包含在 appsettings.json 的 AzureAD 块中。
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"TenantId": "7867-7866-7687-8678-8678678676",
"ClientId": "5456-6567-5676-5675-5675757565",
"Audience": "https://myapp.example.com"
}
应用程序 ID URI(在应用程序注册中 - 公开 API 部分)应与受众值完全相同。