首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Microsoft Graph API令牌在3600秒后过期- NodeJS

Microsoft Graph API令牌在3600秒后过期- NodeJS
EN

Stack Overflow用户
提问于 2021-08-10 10:43:56
回答 2查看 287关注 0票数 0

我正在使用Microsoft Graph API生成oAuth 2.0访问令牌,该令牌将在1小时后过期。使用的路由是:[https://login.microsoftonline.com/[Tenant](https://login.microsoftonline.com/%5BTenant) ID]/oauth2/v2.0/token我在查询字符串中传递这些值。{ grant_type:"client_credentials",client_id:APP_ID,client_secret:APP_PASSWORD,scope:"https://graph.microsoft.com/.default",}

现在,我的当前实现添加了递归,在调用图形api从AD提取用户详细信息之前,我添加了重试。

有没有办法获取/获取刷新令牌,因为刷新令牌持续的时间更长?

EN

回答 2

Stack Overflow用户

发布于 2021-08-12 09:22:02

您需要按照以下步骤启用刷新令牌:

请求作用域'offline_access'.的

  1. 这将告诉端点提供一个refresh_token以及access_token和相关的元数据。

  1. 您需要通过使用稍微不同的主体重复相同的POST到/common/OAuth2/v2.0/ access_token来请求一个新的refresh_token (当它们组合在一起时)- grant_type被设置为 refresh_token ,而不是代码,您提供了一个refresh_token属性和值

例如

代码语言:javascript
运行
复制
POST /{tenant}/oauth2/v2.0/token
Host: https://login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded

client_id=[client Id]
&scope=[scope]
&refresh_token=[refresh token]
&grant_type=refresh_token
&client_secret=[secret]

有关刷新令牌请求的详细信息,请参阅文档here

票数 0
EN

Stack Overflow用户

发布于 2021-08-18 19:01:01

在我看来,使用刷新令牌和客户端流是没有用的。既然可以直接获取访问令牌,为什么还要添加一个额外的步骤来获取访问令牌呢?

使用client_credentials授权类型的流程:

步骤1:客户端身份验证

已颁发OK访问令牌

获取Refresh_token的流程

步骤1:客户端身份验证

第2步:刷新令牌验证并使用它来获取访问令牌

已颁发OK访问令牌。

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

https://stackoverflow.com/questions/68725344

复制
相关文章

相似问题

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