当前位置: 首页 > 知识库问答 >
问题:

无法生成访问令牌和刷新令牌

申屠宏胜
2023-03-14
POST /common/oauth2/v2.0/token HTTP/1.1
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 119

grant_type=authorization_code&client_id=XXXXXXXXXXXXXXXXXXXXX&code=XXXXXXXXXXXXXXXX
```. 
client_id -> Client ID generated from the APP
code -> Code generated by the below url

https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=your_app_client_id&response_type=code&redirect_uri=https%3a%2f%2flogin.microsoftonline.com%2fcommon%2foauth2%2fnativeclient&response_mode=query&scope=user.read%20offline_access%20文件.readwrite

Unfortunately I'm getting 404  always as response. May I know what is missing my code or I miss any certification or license. Anyway please help me to find out the issue 


共有1个答案

柳珂
2023-03-14

它似乎缺少一些参数,如scoperedirect_uriclient_secret,但我没有重复您的问题。所以我提供了我的请求的细节供您参考,在我的测试中请求是成功的。

有关授权代码流的进一步信息,可以参考本教程。

顺便说一下,你的请求中似乎有些小问题。我注意到你发的另一个帖子。根据那篇文章中的信息,我认为您可能需要检查content-type是否正确,并且即使使用了post方法,您也似乎将参数放在了请求url之后。您可能需要将参数放在请求正文中,而不是放在查询URL中。如果您将它们放在请求url后面的查询url中,则不会在后端代码中检索它们。后端代码将首先检索参数grant_type,因此它将始终显示必须包含grant_type错误。

 类似资料:
  • 我已经阅读了JWT和访问令牌和刷新令牌。我知道您必须在很短的时间(分钟)内设置访问令牌过期,并在过期时使用刷新令牌获取新的访问令牌。 我不清楚三件事: 谁检查访问令牌是否过期?客户端是否通过发送过期的访问令牌和刷新来检查并请求新的访问代码? 谁检查刷新令牌是否过期?(显然刷新令牌也需要过期,尽管需要更长的时间才能过期)。 在我看来,如果刷新令牌过期,则必须提示用户重新登录。在某些情况下(移动应用)

  • 这是我的身份验证流程: 用户登录后收到两个令牌(具有过期时间的访问令牌和没有过期时间的刷新令牌) 对于每个用户,刷新令牌存储在数据库中名为refreshTokens的json列中(这是一个数组) 在客户端,访问令牌和刷新令牌都存储在本地存储器上 当需要验证用户时,如果访问令牌过期,将使用刷新令牌创建一个新的访问令牌,并将其发送回用户并保持用户登录 当用户注销时,数据库中存储的刷新令牌(在refre

  • null 很抱歉太啰嗦了。 提前谢了。

  • 目前访问类型处于联机状态。当我需要访问驱动器上的文件/文件夹时,我将浏览器重定向到Google URL并获得访问代码: 一切运转良好!但我只需要第一次重定向。 当我谷歌时,在google Drive API文档中,我发现我可以通过浏览器重定向获得刷新令牌,并将其保存在数据库中。(换句话说,我可以使用脱机访问)。 而且每次当我需要从google drive读取数据时,我使用刷新令牌获得访问令牌,而无

  • 我不熟悉,它代表。我混淆了它的两个术语:访问令牌和刷新令牌。 用户注册/登录站点后,我创建和。 将刷新标记保存在数据库或cookie中。 15分钟后,用户标记访问令牌过期。 如果用户空闲2小时,我将从cookie或DB中删除刷新令牌,否则我将使用刷新令牌续订访问令牌。 有什么优化的方法可以达到这个目的吗?