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

hivapdat  于 2023-10-15  发布在  其他
关注(0)|答案(2)|浏览(120)

我把我的用户发送到/authorize,然后我得到一个访问令牌。我现在可以代表用户发送电子邮件和创建日历事件了吗?或者我现在必须把它们发送到/token
如果我可以从/authorize获得令牌,为什么/token还存在?

tvokkenx

tvokkenx1#

根据你的描述,我假设你想知道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端点正在请求用户授予适当的权限。然后,服务器将返回一个代码。
我们可以使用此代码来获取经过身份验证的访问令牌。
参考document for OAuth2.0以了解有关授权和身份验证的更多信息。

gpnt7bae

gpnt7bae2#

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

1.您,资源所有者,希望允许“Terrible Pun of the Day”客户端访问您的联系人,以便他们可以向您所有的朋友发送邀请。
1.客户端将您的浏览器重定向到授权服务器,并在请求中包含客户端ID、重定向URI、响应类型以及它所需的一个或多个作用域。
1.授权服务器将验证您的身份,并在必要时提示您登录。
1.授权服务器根据客户端请求的范围向您提供同意书。“你还是拒绝吧。
1.授权服务器使用重定向URI沿着授权代码重定向回客户端。
1.客户端直接联系授权服务器(不使用资源所有者的浏览器),并安全地发送其客户端ID、客户端密码和授权代码。
1.授权服务器验证数据并使用访问令牌进行响应。
1.客户端现在可以使用访问令牌向资源服务器发送联系人请求。
所以/token是步骤6,而/authorize是步骤5。

相关问题