如何解决必须将托管服务身份配置为使用身份验证令牌策略
我正在尝试让我的后端 API 使用托管身份验证来自 Azure APIM 的请求,以前这是通过证书身份验证完成的,但出于各种原因,我希望改变这种情况。
当我向 APIM 发出请求时,我在应用程序洞察中收到以下错误。
Managed service identity must be configured to use authentication-token policy.
在后端,我使用 Owin 的 Windows Azure Active Directory Bearer 身份验证。
app.UseWindowsAzureActiveDirectoryBearerAuthentication(
new WindowsAzureActiveDirectoryBearerAuthenticationOptions
{
Tenant = "https://tennant.co.uk/AzureADDAuth",TokenValidationParameters = new TokenValidationParameters
{
ValidAudience = "11111111-1111-1111-1111-111111111111"
},});
APIM 中的入站策略如下
<authentication-managed-identity resource="https://tennant.co.uk/AzureAADAuth" client-id="11111111-1111-1111-1111-111111111111" output-token-variable-name="msi-access-token" ignore-error="false" />
<set-header name="Authorization" exists-action="override">
<value>@("Bearer " + (string)context.Variables["msi-access-token"])</value>
</set-header>
我发现错误消息相当模糊,而且我没有在网上找到任何帮助,所以我不确定我需要做什么来设置这个配置。我已经浏览了几个关于这个主题的文档和博客文章,但找不到任何关于在 Azure Active Directory 中更改什么的信息。如果您能指出正确的方向,我将不胜感激。
解决方法
我通过从 APIM 入站策略中删除客户端 ID 解决了这个问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。