gpt4 book ai didi

ASP.NET API 返回 本地主机上此请求的授权已被拒绝,但在 Azure 上正常工作

转载 作者:行者123 更新时间:2023-12-03 03:11:48 26 4
gpt4 key购买 nike

[Authorize]
public class ValuesController : ApiController
{
// GET api/values
public IEnumerable<string> Get()
{
return new string[] { "Simple" , "Test"};
}
}

这是一个简单的“Web API 2”应用程序。

public void ConfigureAuth(IAppBuilder app)
{
app.UseWindowsAzureActiveDirectoryBearerAuthentication(
new WindowsAzureActiveDirectoryBearerAuthenticationOptions
{
Tenant = ConfigurationManager.AppSettings["ida:Tenant"],
TokenValidationParameters = new TokenValidationParameters
{
SaveSigninToken = true,
ValidAudience = ConfigurationManager.AppSettings["ida:Audience"]
},
});
}

如图所示,应用程序正在使用 WindowsAzureActive Directory 身份验证和授权。

请注意,发布到 Azure Api 应用程序时它可以正常工作,但在本地主机中时始终拒绝请求。

我不知道发生了什么,它以前曾经工作过。

问候

最佳答案

通常,这是由于您在 Web API 中期望的受众(您通过 ValidAudience 设置的值)与您在传入 token 中获得的内容不匹配。 token 中的值反射(reflect)了您在向客户端请求 token 时使用的资源标识符。在调用 localhost 实例与 Azure API 实例时,您是否会更改客户端代码以请求不同的受众?另外,如何将API发布到Azure?如果您使用 VS,并且在发布向导设置中选中了“使用组织身份验证”复选框,则部署的 Web API 将在其 web.config 中具有不同的受众群体值。

关于ASP.NET API 返回 本地主机上此请求的授权已被拒绝,但在 Azure 上正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36553595/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com