将AccessToken保存到Google Drive API的钥匙串

时间:2015-07-28 12:52:02

标签: ios google-drive-api google-oauth

我使用的是Google-API-Client和gtm-oauth2库。登录成功完成后

- (void)viewController:(GTMOAuth2ViewControllerTouch *)viewController
  finishedWithAuth:(GTMOAuth2Authentication *)authResult
             error:(NSError *)error {

我在authResult.authResult

中交回了一个访问令牌

但是,如果我自动或使用

查看保存在钥匙串中的内容
[GTMOAuth2ViewControllerTouch saveParamsToKeychainForName:kGoogleKeychainItemName authentication:authResult];

一旦我检索到访问令牌,我就看不到它了。仅保存刷新令牌

如果我马上或任何其他时间做

GTMOAuth2Authentication *auth =     
    [GTMOAuth2ViewControllerTouch authForGoogleFromKeychainForName:kGoogleKeychainItemName
                                                          clientID:kGoogleClientID
                                                      clientSecret:kGoogleClientSecret error:&error];

我的访问令牌是零

我认为这是故意的,但我看不到任何关于此的文件。为什么会发生这种情况,背后的想法是什么。

2 个答案:

答案 0 :(得分:0)

有些变体可以保存数据:

  1. 可能不支持该方法( authForGoogleFromKeychainForName )。

  2. 如果手机中存在指纹扫描仪,则在使用钥匙串的设置中应该有其他功能 - 我们在保存指纹的手机5上存在一些问题。

    < / LI>

答案 1 :(得分:0)

仅使用钥匙串刷新令牌的原因是这简化了OAuth2流程。

我们不必验证Access令牌是否仍然有效。

它使程序更容易编程,成本可以忽略不计。