GTMOauth2 iOS刷新令牌

时间:2013-04-06 13:14:50

标签: ios xcode oauth token

我从这个例子开始一个演示应用

https://github.com/Christian-Hansen/simple-oauth2

我可以对谷歌进行身份验证并获取AUTH对象。 如果我NSLog auth对象,我可以看到access_token,过期日期和代码,但没有刷新令牌.. 这是正常的吗?原因一段时间后我无法做请求导致我的访问令牌过期.. 我还补充说:

- (void)使用auth.canAuthorize

的awakeFromNib方法

我做错了什么? 感谢

2 个答案:

答案 0 :(得分:4)

谢谢@grobbins。关键是我需要在请求中添加这些参数:

    viewController.signIn.additionalAuthorizationParameters = 
    [NSDictionary dictionaryWithObjects:[NSArray 
arrayWithObjects:@"offline",@"force", nil] forKeys:[NSArray arrayWithObjects:@"access_type",@"approval_prompt", nil]];

希望对那里的人有用! : - )

答案 1 :(得分:0)

使用authenticationWithServiceProvider:登录Google以外的服务时,但对于这些服务,请勿使用Google的令牌网址;使用服务提供商的令牌URL。

登录Google时,请勿创建auth对象;只需调用GTMOAuth2ViewControllerTouch + controllerWithScope:如果用户成功登录,则回调包含auth对象。

将示例应用登录Google服务和非Google服务进行比较,以了解不同的方法。