如何使用刷新令牌获取新的访问令牌(django-oauth-toolkit)?

Mul*_*ala 14 python django oauth

我在我的django项目中使用django-oauth-toolkit 0.7通过我的网站提供oauth,我已经按照这里的步骤成功获得了访问令牌.但是我无法获得新的access token(如果访问令牌已过期)刷新令牌.我能够使用消费者客户端获取访问令牌.但是我怎么能在我的网站上用我的网址得到这个,因为当我试图获得带有刷新令牌的新访问令牌时,我无法看到哪些参数会进入我的网站.任何帮助都会受到影响,提前致谢!

我的accessstoken和刷新令牌是这样的:

{
  "access_token":"1/fFAGRNJru1FTz70BzhT3Zg",
  "expires_in":3920,
  "token_type":"Bearer",
  "refresh_token":"1/xEoDL4iW3cxlI7yDbSRFYNG01kVKM2C-259HOF2aQbI"
}
Run Code Online (Sandbox Code Playgroud)

我正在运行我的网站 localhost:8000

Yac*_*zmi 27

要获得一个新的access_token,通过使用您现有的,refresh_token您需要发送POST请求到您用于获取令牌的同一个URL(/o/token/假设默认URL).在grant_type现在会是refresh_token,而且你还需要与你的客户证书进行验证,因为你发出了一些.

总结一下: curl -X POST -d "grant_type=refresh_token&client_id=<your_client_id>&client_secret=<your_client_secret>&refresh_token=<your_refresh_token>" http://localhost:8000/o/token/

如果您想了解更多信息,可以查看此链接以查看标准的相关部分.

  • @AshishGupta您可以通过自己的服务器传送请求。例如:创建一个PHP脚本并将刷新令牌传递给它。服务器知道秘密并将其发送到Reddit API,然后将结果传递回客户端,因此客户端无需知道秘密。 (2认同)