我使用的是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];
我的访问令牌是零
我认为这是故意的,但我看不到任何关于此的文件。为什么会发生这种情况,背后的想法是什么。
答案 0 :(得分:0)
有些变体可以保存数据:
可能不支持该方法( authForGoogleFromKeychainForName )。
如果手机中存在指纹扫描仪,则在使用钥匙串的设置中应该有其他功能 - 我们在保存指纹的手机5上存在一些问题。
< / LI> 醇>答案 1 :(得分:0)
仅使用钥匙串刷新令牌的原因是这简化了OAuth2流程。
我们不必验证Access令牌是否仍然有效。
它使程序更容易编程,成本可以忽略不计。