microsoft-graph-api - Microsoft Graph API不返回刷新 token

标签 microsoft-graph-api

我在https://apps.dev.microsoft.com上创建了一个应用

具有以下应用程序权限:
Calendars.Read (Admin Only) Calendars.ReadWrite (Admin Only) User.Read.All (Admin Only)
以下是对我有效的唯一流程,它能够订阅另一个租户上的另一个用户的通知,如here所述

管理员同意

然后通过此URL成功授予了管理员同意

https://login.microsoftonline.com/common/adminconsent?client_id=bbb35336-faee-4c10-84b4-34136634db41&state=1234&redirect_uri=https%3A%2F%2Fdashmeetings.com%2Fmicrosoft%2Foauth

获取访问 token

然后从获得访问 token
POST https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token

带标题
Content-Type=application/x-www-form-urlencoded

使用{tenant}在回调URL中返回的tenant的值,

和具有键值对的主体
grant_type=client_credentials
client_id=bbb35336-faee-4c10-84b4-34136634db41
client_secret=xxx
scope=https://graph.microsoft.com/.default

这将返回访问 token ,但不返回刷新 token 。

我认为这可能是因为未请求offline_access所致。

如何获得刷新 token ?

最佳答案

您的说法部分正确,如果您请求refresh_token范围并且您使用的是offline_access授予流程,那么您只会收到authorization_code

使用implicit授予时,刷新 token 不可用,使用client_credentials授予时,刷新 token 是不必要的。使用client_credentials时,没有经过用户身份验证,因此不需要“刷新” token ,因为您可以在需要时简单地请求新 token 。

关于microsoft-graph-api - Microsoft Graph API不返回刷新 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47588820/

相关文章:

azure-active-directory - 日历端点返回 OrganizationFromTenantGuidNotFound

c# - 静默更新 PlannerTaskDetails 失败

microsoft-graph-api - 使用 MS Graph API 是否可以仅列出电子邮件附件而不下载其内容?

azure - 非管理员的图形 API 权限

.net - Microsoft Graph 身份验证重新处理其他声明

c# - Microsoft Graph 和无用户访问

azure - 以编程方式从 Azure AD 获取用户组和角色

c# - Microsoft.Graph.Models.ODataErrors.ODataError 与 .PatchAsync(用户)上的 Graph API

azure - 无法使用图形 API 在管理单元内创建新组

azure - 获取有权访问 Azure 资源的用户和组