Google 日历 API for IOS 并将信息存储在钥匙串中
Google calendar API for IOS and storing info in the keychain
我正在按照 link
中的代码在我的 iOS 应用程序中实施 Google 日历 API
https://developers.google.com/google-apps/calendar/quickstart/ios?ver=swift
页面底部有一条注释,内容如下:
"Authorization information is stored in your Keychain, so subsequent executions will not prompt for authorization."
但是,它要求用户在每次午餐时登录应用程序,因此它不会存储在钥匙串中。我的问题是如何在钥匙串中正确存储用户的凭据,这样它就不会在我们每次打开应用程序时都要求用户登录?
是的,没错。如果您没有正确保存令牌,用户将不得不在下次应用程序 运行 时重新登录。
解决此问题的方法如下:
kKeychainItemName - is used to save the token on the user’s keychain
代码片段:
// Display the authentication view
GTMOAuth2ViewControllerTouch *viewController;
viewController = [[[GTMOAuth2ViewControllerTouch alloc] initWithAuthentication:auth
authorizationURL:authURL
keychainItemName:kKeychainItemName
...
finishedSelector:@selector(viewController:finishedWithAuth:error:)] autorelease];
GoogleGithubpage提供了更多信息。希望这会有所帮助,祝你好运!
我正在按照 link
中的代码在我的 iOS 应用程序中实施 Google 日历 APIhttps://developers.google.com/google-apps/calendar/quickstart/ios?ver=swift
页面底部有一条注释,内容如下:
"Authorization information is stored in your Keychain, so subsequent executions will not prompt for authorization."
但是,它要求用户在每次午餐时登录应用程序,因此它不会存储在钥匙串中。我的问题是如何在钥匙串中正确存储用户的凭据,这样它就不会在我们每次打开应用程序时都要求用户登录?
是的,没错。如果您没有正确保存令牌,用户将不得不在下次应用程序 运行 时重新登录。
解决此问题的方法如下:
kKeychainItemName - is used to save the token on the user’s keychain
代码片段:
// Display the authentication view
GTMOAuth2ViewControllerTouch *viewController;
viewController = [[[GTMOAuth2ViewControllerTouch alloc] initWithAuthentication:auth
authorizationURL:authURL
keychainItemName:kKeychainItemName
...
finishedSelector:@selector(viewController:finishedWithAuth:error:)] autorelease];
GoogleGithubpage提供了更多信息。希望这会有所帮助,祝你好运!