首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >授予类型refresh_token不适用于工作帐户类型的Microsoft图形授权

授予类型refresh_token不适用于工作帐户类型的Microsoft图形授权
EN

Stack Overflow用户
提问于 2022-07-12 07:43:55
回答 1查看 226关注 0票数 2

TLDR:刷新令牌适用于outlook,但当我试图刷新工作帐户的令牌时,会得到错误AADSTS65001。

我正在构建一个调度应用程序(nodejs/react),我的用户可以集成他们的outlook日历,这样访问者就可以在日历中安排事件。我使用@azure/msal节点进行身份验证。

Msal config

代码语言:javascript
运行
复制
const msalConfig = {
    auth: {
        clientId: MICROSOFT_CREDENTIALS.CLIENT_ID,
        authority: 'https://login.microsoftonline.com/common/',
        clientSecret: MICROSOFT_CREDENTIALS.CLIENT_SECRET
    }
};
Msal.ConfidentialClientApplication(msalConfig);

我的应用程序注册信息:

受支持的帐户类型:所有Microsoft帐户用户

Api权限(全部委托):Calendars.ReadWrite、offline_access、User.Read

我的应用程序流如下所示:

  1. 用户在他的配置文件中有一个用于身份验证的按钮,被重定向到由msalClient.getAuthCodeUrl生成的url,在那里他被请求权限,
  2. 在同意后,他被重定向回我用来获取访问令牌(msalClient.acquireTokenByCode)的代码,
  3. I通过调用'/me‘端点和显示帐户显示名称来测试我的访问权限,
  4. I从msal令牌缓存(GetTokenCache).serialize()获得刷新令牌缓存(getTokenCache(GetTokenCache).serialize()),并将其映射到用户,

< code >H 118,现在用户已经集成了outlook日历,访问者应该能够和他一起安排一个事件,

  1. 访问者填写事件数据,
  2. 在创建事件之前,我通过使用grant_type:' refresh _ token‘将用户刷新令牌发布到'https://login.microsoftonline.com/common/oauth2/v2.0/token’获得访问令牌,
  3. 使用新的访问令牌将事件数据发布到‘me/日历/events’。

这对于outlook.com帐户非常有效,但是当我尝试使用一个工作帐户.onmicrosoft.com时,在步骤7中,当我试图刷新令牌时,我会得到一个错误。错误是:

AADSTS65001:用户或管理员没有同意使用ID为“app id”的应用程序,该应用程序名为“app name”。向此用户和资源发送交互式授权请求。

我希望有人能帮忙,如果需要的话,我会乐意提供更多的信息!

EN

回答 1

Stack Overflow用户

发布于 2022-07-12 20:41:31

在您的Azure门户,激活允许用户同意应用程序

Home -> Enterprise applications -> Your enterprise application -> User consent settings

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72948706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档