获取Azure AD基本用户配置文件

时间:2018-09-02 19:27:23

标签: azure oauth azure-active-directory azure-web-sites microsoft-graph

我正在尝试从Azure AD获取用户基本配置文件。我有一个React Native应用程序根据 Native Azure AD 应用程序注册进行身份验证。我从该请求中获得的access_token用于针对 Web应用程序/ Api 进行身份验证。系统会显示用户正确的同意屏幕,以及我在Azure AD中设置的权限。

  1. Microsoft Graph API
    • 阅读所有用户的基本个人资料
    • 登录并阅读用户个人资料
  2. Windows Azure Active Directory
    • 阅读所有用户的基本个人资料
    • 登录并阅读用户个人资料

(添加了Graph API和AAD,因为我不知道要使用哪一个)

当我尝试通过https://graph.microsoft.com/v1.0/users/me获取用户个人资料时,从上一个请求中获得了access_token,我得到:

{
    "error": {
        "code": "InvalidAuthenticationToken",
        "message": "Access token validation failure.",
        "innerError": {
            "request-id": "00cdb708-bcf8-4b33-af21-14a046b16533",
            "date": "2018-09-02T18:28:59"
        }
    }
}

我的初始身份验证请求中的resource Web应用程序/ API的应用程序ID,我不认为选择2种资源(?)。

我在做什么错,应该怎么解决?谢谢。

2 个答案:

答案 0 :(得分:0)

根据您的描述,我假设您想获取用户个人资料,但得到的错误显示无效的令牌。

根据我的测试,您发布的请求URL不正确。

应为“ https://graph.microsoft.com/v1.0/me”或“ https://graph.microsoft.com/v1.0/users/ {id | userPrincipalName}”。

我们可以按照以下方法解决您的问题。

首先,检查请求是否具有正确的“授权”字段。 This document显示我们需要请求标头中的“授权”字段。

第二,如果您在请求标头中添加了“授权”字段,能否提供主要代码,以便我们确定问题是否出在那?

答案 1 :(得分:0)

在获取访问令牌时,请添加“ 资源”:“ https://graph.microsoft.com/”,并在带有 Bearer 的标头中使用该访问令牌,而不要点击URL- > https://graph.microsoft.com/me?api-version=1.6

在获取访问令牌时不要忘记添加资源

稍后谢谢:P