我正在编写一个访问Adwords API的独立应用程序。 oauth2身份验证和授权工作正常。
我的问题是我想将refreshtoken保存在文本文件中,并在下次运行应用程序时直接使用它来恢复我的凭据。 refreshtoken应该有效期为14天,因此恢复访问凭证非常好。
我还没有找到一个有效的例子。有人可以帮忙吗?
答案 0 :(得分:0)
refresh token
与授权令牌没有太大区别。
OAuth2.0有几个流,可用于访问服务器。常见(和savest)流是所谓的授权代码流(detailed info here)。
当用户第一次想要使用您的应用程序时,您的应用程序会向授权服务器询问authorization code
。用户登录时将通过网站获得authorization code
并授予您的应用程序访问该服务的权限。您的应用程序将此代码发送到授权服务器,以获取第一个access token
(以及refresh token
)。它是您发送refresh token
所需的相同服务器。
现在,我不确切知道服务器的uri在你的情况下是什么,但这可以是你可以发送服务器的 POST 请求的一个例子:
POST /o/oauth2/token HTTP/1.1
Host: accounts.google.com
Content-Type: application/x-www-form-urlencoded
client_id=YOUR_CLIENT_ID_HERE&
client_secret=YOUR_CLIENT_SECRET_HERE&
refresh_token=THE_REFRESH_TOKEN_HERE&
grant_type=refresh_token
如果请求有效,服务器将使用新的Access Token
进行响应。 Here您可以找到有关您可以提出的具体请求的更多信息。
请记住,每个令牌(访问和刷新令牌)都必须保存。最好的方法是加密保存,发送令牌时只使用 POST 请求和 https 。但这不是你的问题。
我希望我可以帮助你。