Azure active directory 让我使用Azure OAuth 2令牌

Azure active directory 让我使用Azure OAuth 2令牌,azure-active-directory,azure-ad-graph-api,Azure Active Directory,Azure Ad Graph Api,我正在尝试使用Azure OAuth2对用户进行身份验证,然后获取有关用户的一些信息。这就是我现在正在做的 如果代码不在URI中,请将其重定向到: 这会将它们重定向回URL,但会在URI中传递代码 该页面从URI获取代码,并向:发出POST请求,主体为: “授权类型”=“授权代码” “代码”=“插入代码” “客户端id”,“插入客户端id” “客户端密码”,“插入客户端密码” 这将返回一个有效的访问令牌 当我试图通过以下方式请求用户信息:在授权标头中使用访问令牌时,我会收到一条错误消息,说明

我正在尝试使用Azure OAuth2对用户进行身份验证,然后获取有关用户的一些信息。这就是我现在正在做的

  • 如果代码不在URI中,请将其重定向到:
  • 这会将它们重定向回URL,但会在URI中传递代码
  • 该页面从URI获取代码,并向:发出POST请求,主体为:
    
    “授权类型”=“授权代码”
    “代码”=“插入代码”
    “客户端id”,“插入客户端id”
    “客户端密码”,“插入客户端密码”
    
  • 这将返回一个有效的访问令牌
  • 当我试图通过以下方式请求用户信息:在授权标头中使用访问令牌时,我会收到一条错误消息,说明令牌已过期
  • 我尝试了多个不同的端点,但没有一个是正确的。任何帮助都将不胜感激

    更新 下面是一些令牌信息。
    
    澳元:“00000003-0000-0000-c000-000000000000”
    scp:“openid配置文件电子邮件”
    

    您需要
    用户。阅读
    范围,然后调用
    https://graph.microsoft.com/v1.0/me
    而不是Azure AD Graph API端点。 也就是说,您也可以要求
    https://graph.windows.net/User.Read
    作为作用域和调用AAD图,但该API已被弃用,因此我宁愿使用当前的API:)


    您拥有的作用域(
    openid profile email
    )只会影响您的应用获得授权的Id令牌中的内容,而不会影响您调用API的能力。

    您是否可以检查访问令牌,例如?特别是检查它包含哪些范围以及受众(aud)。@juunas我刚刚用aud和scp更新了帖子。嗯,你可能需要请求
    用户。阅读
    范围。这些范围
    openid配置文件电子邮件
    只会影响发送到你的应用程序的Id令牌中的内容。我想再次检查令牌,可能是针对Microsoft Graph API,在这种情况下,您可以调用
    https://graph.microsoft.com/v1.0/me
    我的做法是将范围添加到应用程序中,这样做更简单。