当前位置: 首页 > 知识库问答 >
问题:

访问令牌验证失败-MS Graph API版本2

钱志
2023-03-14

我在谷歌上搜索了很多关于这个问题的信息,但没有任何帮助。我也看到过许多类似的帖子,但没有什么用处。

我正在使用MS Graph API V2访问用户电子邮件、日历和联系人数据。

授权URL:

https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=ABC

令牌请求URL:

https://login.microsoftonline.com/common/oauth2/v2.0/token

Headers:

Content-Type:application/x-www-url-form-urlencoded

Body: 

client_id:ABC
redirect_uri:RedirectURL
grant_type:authorization_code
client_secret:KEY
code: pasted from browser URL

登录并使用相同的代码获取访问令牌后,我成功地在浏览器URL中获取代码。

用户配置文件/邮件/联系人请求

我正在尝试阅读用户配置文件以及用户邮件消息。

各自的请求:

Profile: https://graph.microsoft.com/v1.0/me/

Mail Messages: https://graph.microsoft.com/v1.0/me/messages

Header: Authorization:Bearer (AccessToken pasted from token request)

但我得到下面的错误,无论是在上面使用的要求。

{
    "error": {
        "code": "InvalidAuthenticationToken",
        "message": "Access token validation failure.",
        "innerError": {
            "request-id": "1e232525-6772-483e-87e3-679d5fcb8fb5",
            "date": "2019-02-22T11:53:50"
        }
    }
}

我已设置邮件读写权限、访问日历数据权限、联系人权限(完全访问权限)

我在中创建了应用程序https://apps.dev.microsoft.com

共有1个答案

连厉刚
2023-03-14

范围格式应为<代码>https://graph.microsoft.com/Mail.Read邮政读写用户。阅读。我尝试了以下方法,效果很好。

要获取我/联系人,您需要授予联系人。阅读联系人。ReadWrtie权限。

当您需要access_token时,授权URL应该如下所示:https://login.microsoftonline.com/common/oauth2/v2.0/authorize?(需要使用公共替换租户名称)。

 类似资料:
  • 在错误=我正在获取“消息”的上下文中需要帮助:“Access token validation Failure.Invalid Pavior.”, 我正在使用OAuth中的授权代码授予类型。我已经使用Azure广告策略将自定义声明映射到应用程序。因此,如果用户Scope=appid/.default,那么我将在令牌中获得一个自定义声明,并在Azure AD上对应用程序具有API权限,如user.r

  • 从AAD接收访问令牌,使用下面的urlhttps://login.microsoftonline.com/gdfdddddd-87dd-497c-b894-xxxxxx/oauth2/v2.0/token grant_type :client_credentials 客户端id:xxxxx-1ff 5-4615-8d 71-yyyyy client_secret:[7aCw]fdsfsfsfds.

  • 我正在使用Auth0并尝试通过调用Microsoft标识平台来验证Signature,但我在调用验证方法时收到了下面的错误。还请找到我的代码片段。 代码段: 错误 通用域名格式。auth0.jwt。例外情况。SignatureVerificationException:在com上使用算法SHA256withRSA验证时,令牌的签名无效。auth0.jwt。算法。RSA算法。在com上验证(rsaa

  • 我会在我的Angular Web应用程序中使用Microsoft Graph API。 首先,我使用msal库进行连接 当我尝试使用我的profil登录时,我收到此错误 我已将我的应用程序配置为官方git示例中提到的应用程序 认证有效,我得到了令牌。 然后,当我在主页时,我向微软图形API发出第二个请求,以使用该令牌获取用户信息。 } 我得到一个401未经授权的错误,并回复: 我不知道为什么MG

  • 好的,我已经花了两天的时间来解决这个错误,并找到了一个解决方案。在我的搜索中,我没有找到一个单一的答案来解决我所面临的问题(相反,我找到了多个最终指向解决方案的答案)。因此,我尝试向您解释“访问令牌验证失败。无效访问群体”错误的解决方案: TLDR: 检查“https://graph.Microsoft.com”在https://jwt.ms/上与MSAL进行身份验证时收到的访问令牌中是否作为AU

  • 我正在使用以下示例来玩Spring Cloud OAuth2实现: https://github.com/spring-cloud-samples/authserver https://github.com/spring-cloud-samples/sso 第一个是OAuth服务器,它在对用户进行身份验证时生成JWT令牌。第二个是正在被消耗的资源。根据OAuth规范,资源将用户的身份验证转发给au