Azure Active Directory简易身份验证/.auth/me的权限错误返回401

时间:2020-01-01 07:48:28

标签: azure azure-active-directory azure-web-sites

我有一个Python Flask应用程序,已为其应用程序服务使用Azure Easy Auth(Azure Active Directory)。登录机制运行良好。但是,我需要有关登录用户的信息,即姓名,电子邮件等。为此,我知道我们可以调用http://xyz.contoso.com/.auth/me来返回所需的数据。但是,当我从Web应用程序发送获取请求时,该请求不起作用,并且返回401,并且您没有查看此目录或页面的权限。如果使用浏览器浏览到同一页面,它将返回有关已登录用户的数据。我想念什么吗?

1 个答案:

答案 0 :(得分:0)

由于您已通过身份验证的会话,因此可以通过浏览器访问http://xyz.contoso.com/.auth/me。但是,如果您从Web应用程序发送get请求,那么您将没有权限。

但是,您可以从标题中获取用户信息。 App Service使用特殊的标头将用户声明传递给您的应用程序。不允许外部请求设置这些标头,因此仅在由App Service设置时才存在。一些示例标题包括:

X-MS-CLIENT-PRINCIPAL-NAME

X-MS-CLIENT-PRINCIPAL-ID

参考:

Access user claims