我使用的是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];我的访问令牌为空
我假设这是故意的,但我看不到任何关于这方面的文档。为什么会发生这种情况,背后的想法是什么。
发布于 2015-07-28 22:00:11
数据不保存的原因有以下几种:
发布于 2015-07-29 18:07:05
仅从密钥链使用刷新令牌的原因是这简化了OAuth2过程。
我们不必验证访问令牌是否仍然有效。
这使得该过程更容易编程,并且成本可以忽略不计。
https://stackoverflow.com/questions/31676896
复制相似问题