Azure AD JWT 身份验证不适用于使用 TestContainer 在 Docker 中托管的 Web API

问题描述 投票:0回答:1
我有一个托管在 Docker 中的 ASP .Net Web API,使用 TestContainer 进行集成测试。 Web API 的端点通过使用 JWT 令牌进行保护,当 Web API 托管在 IIS 外部的生产中时,所有这些都可以很好地工作。

我得到了例外

WWW-Authenticate: Bearer error="invalid_token", error_description="受众 'api://XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' 无效"

要让 Azure AD JWT 身份验证在 TestContainers/Docker 中工作,需要做些什么吗?

提前致谢。

docker asp.net-web-api azure-active-directory .net-8.0 testcontainers
1个回答
0
投票
我收到异常

WWW-Authenticate: Bearer error="invalid_token", error_description="The Audience 'api://XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' 无效

要解决

错误,请在 TestContainer 中添加 AzureAD 环境变量:

AZURE_CLIENT_ID

- 服务主体的

应用程序 ID
AZURE_TENANT_ID

-

租户 ID


AZURE_CLIENT_SECRET

- 服务主体的秘密

value

您可以从应用程序注册页面获取 AZURE_CLIENT_ID

AZURE_TENANT_ID

的值,您可以在下面查看

概述:

创建客户端密钥并添加环境变量。

enter image description here

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.