有没有办法生成访问令牌来测试使用Gmail登录的oauth?
我已经创建了一个Google应用程序,并获取了客户端和秘密ID。
我知道Facebook允许您从此网址https://developers.facebook.com/tools/accesstoken/进行操作。
是否有类似Google的方法?
有没有办法生成访问令牌来测试使用Gmail登录的oauth?
我已经创建了一个Google应用程序,并获取了客户端和秘密ID。
我知道Facebook允许您从此网址https://developers.facebook.com/tools/accesstoken/进行操作。
是否有类似Google的方法?
请求:
POST /oauth2/v3/token HTTP/1.1
Host: www.googleapis.com
Content-Type: application/x-www-form-urlencoded
code=4/P7q7W91a-oMsCeLvIaQm6bTrgtp7&
client_id=8819981768.apps.googleusercontent.com&
client_secret={client_secret}&
redirect_uri=https://oauth2-login-demo.appspot.com/code&
grant_type=authorization_code
(成功的) 响应:
{
"access_token":"1/fFAGRNJru1FTz70BzhT3Zg",
"expires_in":3920,
"token_type":"Bearer"
}
我也强烈建议阅读Google OAuth 2.0文档
https://accounts.google.com/o/oauth2/auth...
的请求。复制此完整URL。ACCOUNT_CHOOSER
,APISID
,CONSENT
,GAPS
等cookie。Location
头中显示的URL中包含code=...
。code
以获取访问和刷新令牌,使用https://www.googleapis.com/oauth2/v4/token。你需要刷新令牌来编程获取访问令牌,刷新令牌几乎不会过期:https://developers.google.com/identity/protocols/oauth2#5.-refresh-the-access-token,-if-necessary。
关于刷新令牌的限制,这里有更多信息(https://usefulangle.com/post/51/google-refresh-token-common-questions):
除非有一些特殊情况,否则刷新令牌不会过期:
如何获取刷新令牌 - 参见我的回答: https://dev59.com/nGMm5IYBdhLWcg3wX-LT#68844709
如果您只是想测试一个API,使用任何oauth令牌(如问题标题所述,不一定是从测试用户登录流程中获取的),那么您可以使用服务帐户和oauth2l实用程序,按照此处GCP文档中的说明进行curl调用:
同样地,您可以像给普通测试用户一样为服务账户授予权限。