从前端访问后端 api 时获取 IDX10205
Getting IDX10205 when accessing backend api from frontend
根据 this tutorial,我正在尝试设置一个前端 React 应用服务和一个后端 Node 应用服务,它们都需要身份验证。
除了我需要设置 "loginParameters": ["response_type=code id_token", "scope=openid api://<backend app id>/user_impersonation"]
而不是 additionalLoginParams
之外,我已经按照这些步骤操作了,因为我的应用程序使用 auth v2.
当我的前端应用程序调用我的后端时 api 我收到以下错误
{"code":401,"message":"IDX10205: Issuer validation failed. Issuer: '[PII is hidden]'. Did not match: validationParameters.ValidIssuer: '[PII is hidden]' or validationParameters.ValidIssuers: '[PII is hidden]'."}
我不知道如何调试它,因为响应中的有用信息被隐藏了,而且我在使用 Node.js 时找不到显示它的方法。我已经检查了令牌并且发行者是 https://sts.windows.net/<tenant id>/
,但我不知道预期是什么或如何设置 ValidIssuer。
我为身份验证所做的工作 code-wise 是在登录后从前端调用 /.auth/me
以接收访问令牌,并且此令牌在 [=46= 中传递到后端 api ] 为 Authentication: Bearer <access_token>
。我希望 Azure 能够根据链接教程中的设置处理其他所有事情。这是正确的吗?
我该如何调试这个问题?
编辑
后台应用注册的 Expose an API 页面是这样的。
这是我的访问令牌的数据。
你的问题已经解决,post作为问题的最后答案。
正如我在评论中所说,您需要获取 2.0
版本的令牌。所以需要将applicationmanifest的accessTokenAcceptedVersion
attribute修改为:"accessTokenAcceptedVersion": 2
.
根据 this tutorial,我正在尝试设置一个前端 React 应用服务和一个后端 Node 应用服务,它们都需要身份验证。
除了我需要设置 "loginParameters": ["response_type=code id_token", "scope=openid api://<backend app id>/user_impersonation"]
而不是 additionalLoginParams
之外,我已经按照这些步骤操作了,因为我的应用程序使用 auth v2.
当我的前端应用程序调用我的后端时 api 我收到以下错误
{"code":401,"message":"IDX10205: Issuer validation failed. Issuer: '[PII is hidden]'. Did not match: validationParameters.ValidIssuer: '[PII is hidden]' or validationParameters.ValidIssuers: '[PII is hidden]'."}
我不知道如何调试它,因为响应中的有用信息被隐藏了,而且我在使用 Node.js 时找不到显示它的方法。我已经检查了令牌并且发行者是 https://sts.windows.net/<tenant id>/
,但我不知道预期是什么或如何设置 ValidIssuer。
我为身份验证所做的工作 code-wise 是在登录后从前端调用 /.auth/me
以接收访问令牌,并且此令牌在 [=46= 中传递到后端 api ] 为 Authentication: Bearer <access_token>
。我希望 Azure 能够根据链接教程中的设置处理其他所有事情。这是正确的吗?
我该如何调试这个问题?
编辑
后台应用注册的 Expose an API 页面是这样的。
这是我的访问令牌的数据。
你的问题已经解决,post作为问题的最后答案。
正如我在评论中所说,您需要获取 2.0
版本的令牌。所以需要将applicationmanifest的accessTokenAcceptedVersion
attribute修改为:"accessTokenAcceptedVersion": 2
.