Microsoft Graph 中的 /token 和 /authorize 有什么区别?

问题描述 投票:0回答:2

我将我的用户发送到

/authorize
,然后我得到一个访问令牌。我完成了吗?我现在可以代表用户发送电子邮件并创建日历活动吗?或者我现在必须将它们发送到
/token

如果我只能从

/token
获取令牌,为什么
/authorize
还会存在?

oauth-2.0 microsoft-graph-api openid
2个回答
6
投票

根据您的描述,我假设您想知道 Microsoft Graph 中 /token 和 /authorize 之间的区别。

按照本文档,当我们想要获取访问令牌时,我们应该与两个端点交换HTTP请求。

The /authorize endpoint, where your app can send a user to authenticate with Azure AD and consent to the permissions your app needs. The /token endpoint where your app can get an access token once user consent has been granted.



这意味着 /authorize 端点正在请求用户授予适当的权限。然后,服务器将返回一个代码。

我们可以使用此代码来获取经过身份验证的访问令牌。

参考

OAuth2.0文档以了解有关授权和身份验证的更多信息。


0
投票

https://developer.okta.com/blog/2019/10/21/illusterated-guide-to-oauth-and-oidc

    您,资源所有者,希望允许“当天可怕的双关语”客户访问您的联系人,以便他们可以向您所有的朋友发送邀请。
  1. 客户端将您的浏览器重定向到授权服务器,并在请求中包含客户端 ID、重定向 URI、响应类型以及它需要的一个或多个范围。
  2. 授权服务器验证您的身份,并在必要时提示您登录。
  3. 授权服务器根据客户请求的范围向您提供一份同意书。您授予(或拒绝)许可。
  4. 授权服务器使用重定向 URI 和授权代码重定向回客户端。
  5. 客户端直接联系授权服务器(不使用资源所有者的浏览器)并安全地发送其客户端 ID、客户端密钥和授权代码。
  6. 授权服务器验证数据并使用访问令牌进行响应。
  7. 客户端现在可以使用访问令牌向资源服务器发送联系人请求。
所以

/token

 是步骤 6,而 
/authorize
 是步骤 5。

© www.soinside.com 2019 - 2024. All rights reserved.