首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用GTMOAuth2SignIn获取无头令牌

用GTMOAuth2SignIn获取无头令牌
EN

Stack Overflow用户
提问于 2013-09-03 06:09:52
回答 1查看 472关注 0票数 2

我想为我的所有服务方法编写集成测试。这些方法使用OAuth2进行安全保护,iOS客户端使用gtm-oauth2库。

我可以编写哪些代码从OCUnit测试用例中使用用户名/密码凭据来获得访问令牌?

做过这件事的人能帮我节省谷歌代码的时间吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-03 08:40:14

这是三个阶段的过程。

首先,忘记用户名和密码。他们会把你引向错误的方向。

在某个离线点,您需要生成一个刷新令牌。这将需要一个浏览器会话,因为谷歌将带领用户通过授权对话。一旦您有了刷新令牌,您就可以保存它或将它嵌入到您的测试工具中(假设这是一个虚拟用户,没有任何值得保护的秘密。如果您愿意,可以将刷新令牌看作是用户名和密码的oauth等价物。

现在,在您的测试设置中,您将使用刷新令牌请求访问令牌。这是一个简单的调用

代码语言:javascript
复制
POST /o/oauth2/token HTTP/1.1
Host: accounts.google.com
Content-Type: application/x-www-form-urlencoded

client_id=8819981768.apps.googleusercontent.com&
client_secret={client_secret}&
refresh_token=1/6BMfW9j53gdGImsiyUH5kU5RsR4zwI9lUVX-tqf8JXQ&
grant_type=refresh_token

只要用户没有撤销授予您的应用程序的访问权限,响应就会包含一个新的访问令牌。对这一请求的答复如下:

代码语言:javascript
复制
{
  "access_token":"1/fFBGRNJru1FQd44AzqT3Zg",
  "expires_in":3920,
  "token_type":"Bearer",
}

这些细节摘自https://developers.google.com/accounts/docs/OAuth2WebServer#offline

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

https://stackoverflow.com/questions/18585279

复制
相关文章

相似问题

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