获取 Microsoft Graph 和单个服务 API 端点(Outlook REST APIs 等)的访问令牌
Obtain access token for both Microsoft Graph and individual service API endpoints (Outlook REST APIs etc.)
我花了一些时间研究 Azure AD OAuth 2.0。
使用范围 https://outlook.office.com/mail.read
获得的访问令牌在与 Microsoft Graph 一起使用时抛出 401 Unauthorized
。
类似地,在与 Outlook REST API 端点一起使用时,使用范围 https://graph.microsoft.com/mail.read
获得的访问令牌会抛出 401 Unauthorized
。
此外,如果我在授权用户时提及这两个范围,我会收到错误消息。
是否可以拥有允许访问 Microsoft Graph 和 Outlook REST API 端点的访问令牌?
我正在构建一个电子邮件应用程序。最初,我将构建 syncing/sending 电子邮件等基本功能。
我将使用 Microsoft Graph,因为它支持我目前需要的所有功能,并且 通过单个服务 API 端点。
我担心未来。我目前将获得的 OAuth 访问令牌的范围为 https://graph.microsoft.com/mail.read
。将来,我想构建的新功能可能不受 Microsoft Graph 支持,但受 Outlook REST API 端点支持。那时我想使用 Outlook REST API 端点。
我是否必须为每个用户维护两套 OAuth 访问令牌?另外要求每个用户重新授权也不是一个好主意。
是的,您可以使用 RefreshToken 获取单个端点的 AccessToken,其范围与您请求图形访问(范围)时授权的范围相同。
例如如果您请求 Mail.Read
(https://graph.microsoft.com/mail.read
的简称),您可以使用 refresh_token 和 scope="https://outlook.office.com/mail.read"
返回到令牌发布端点,并为此端点获取 accesss_token .
我花了一些时间研究 Azure AD OAuth 2.0。
使用范围 https://outlook.office.com/mail.read
获得的访问令牌在与 Microsoft Graph 一起使用时抛出 401 Unauthorized
。
类似地,在与 Outlook REST API 端点一起使用时,使用范围 https://graph.microsoft.com/mail.read
获得的访问令牌会抛出 401 Unauthorized
。
此外,如果我在授权用户时提及这两个范围,我会收到错误消息。
是否可以拥有允许访问 Microsoft Graph 和 Outlook REST API 端点的访问令牌?
我正在构建一个电子邮件应用程序。最初,我将构建 syncing/sending 电子邮件等基本功能。
我将使用 Microsoft Graph,因为它支持我目前需要的所有功能,并且
我担心未来。我目前将获得的 OAuth 访问令牌的范围为 https://graph.microsoft.com/mail.read
。将来,我想构建的新功能可能不受 Microsoft Graph 支持,但受 Outlook REST API 端点支持。那时我想使用 Outlook REST API 端点。
我是否必须为每个用户维护两套 OAuth 访问令牌?另外要求每个用户重新授权也不是一个好主意。
是的,您可以使用 RefreshToken 获取单个端点的 AccessToken,其范围与您请求图形访问(范围)时授权的范围相同。
例如如果您请求 Mail.Read
(https://graph.microsoft.com/mail.read
的简称),您可以使用 refresh_token 和 scope="https://outlook.office.com/mail.read"
返回到令牌发布端点,并为此端点获取 accesss_token .