本地Web API 2授权不能使用Azure身份令牌。

问题描述 投票:0回答:1

我有一个使用 SSO 的项目,正在从 Azure AD 返回访问和身份令牌。 重定向后,我得到的令牌以及登录的角色分配都很好,但当尝试访问 API 端点时,我在本地机器上得到 HTTP 401,但在测试服务器上工作得很好。

我的端点使用了[Authorize]前缀,我也尝试过使用和不使用角色分配来访问端点。 我正在使用web config变换,我已经仔细检查了允许来源的URL,以确保它们是正确的。

这使得我在尝试调试时非常困难,因为我必须将前端或后端推送到测试服务器,而不是能够在我的本地机器上工作。

azure-active-directory asp.net-web-api2 single-sign-on
1个回答
0
投票

如果是角色问题,你会得到一个403 forbidden状态代码。

确保在本地检索到的访问令牌 审定索赔 匹配 应用程序界面的id的格式,通常为 api://{app id}. 如果不是这样的话,那么在本地你的目标是不同的API。


0
投票

这最终是我的web.config中的一些东西阻止了Authorize标签的工作。 最后,我从一个基本的web.config开始,然后读取我需要的选项,这样做之后,调用就能像预期的那样工作了。 这个故事的寓意是,如果你遇到同样的问题,请检查你的web.config。

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