我用google搜索过去3个小时,但没有发现如何处理windows azure问题:
您无权查看此目录或页面.
我做了一个git master push to azure,部署成功了.我也打开了失败的请求跟踪,但没有显示,但上述声明.
有关如何排除故障的任何想法?
我在C#中有一个非常简单的Azure函数,已经为其设置了Azure AD Auth。我刚刚使用Express设置在Function配置中创建了App注册。
public static class IsAuthenticated
{
[FunctionName("IsAuthenticated")]
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "options", Route = null)]
HttpRequest req,
ILogger log)
{
return new OkObjectResult("You are " + req.HttpContext.User.Identity.Name);
}
}
Run Code Online (Sandbox Code Playgroud)
当我在浏览器中访问该函数时,一切都会按预期进行(如果未登录,则必须登录并重定向到我的API)。但是,如果我在任何需要Bearer令牌的地方尝试访问我的函数,都会收到401 Unauthorized错误消息。即使很奇怪,我也无法在Azure门户中执行该功能。

但是获取令牌没有问题,并将其添加到请求中:
我已经尝试了一些其他方法来解决此问题。首先,我认为这可能是CORS问题(因为我也有一些问题),只是将CORS设置为接受*,但没有任何变化。
然后,我将我的API登录端点添加到了重定向中,并尝试将隐式授予设置为也接受Access令牌,但它仍然无法正常工作。
有什么我忽略的吗?App Registration Express配置不应该只与Azure函数一起使用吗?
编辑:
按照@ thomas-schreiter的建议,将URL放入功能应用程序的重定向中没有做任何更改(我已经尝试了屏幕截图中的配置,也只是将每个值单独放置了)。
编辑2:
我现在也尝试用Postman手动方式获取Bearer令牌,但是在调用API时仍然遇到401。