Objective-C ライブラリで Google が提供する OAuth2 API に手を出しています。
とにかく、ログインした人をアプリに記憶させる方法を理解するのに苦労しています。以下を使用して認証が正常に機能しました。
以下のメソッドを呼び出して Google から OAuth ビュー コントローラーを提示すると、ユーザーがサインインし、認証されます。ただし、アプリを再起動するたびに、認証されていないかのようにログイン画面が再度実行されます。私が理解しているように、最近サインインしたユーザーを認識できるように、ある種のキーチェーン/トークン記憶を用意する必要があります。
しかし、どのように?利用可能な小さなドキュメントからは解決できません。
-(void)authenticateUserFromViewController:(UIViewController *)viewController
{
GTMOAuth2ViewControllerTouch *authViewController = [[GTMOAuth2ViewControllerTouch alloc] initWithScope:kGTLAuthScopeYouTube
clientID:kClientID
clientSecret:kClientSecret
keychainItemName:kKeychainItemName
delegate:self
finishedSelector:@selector(viewController:finishedWithAuth:error:)];
[viewController.navigationController pushViewController:authViewController animated:YES];
}
-(void)viewController:(GTMOAuth2ViewControllerTouch *)viewController finishedWithAuth:(GTMOAuth2Authentication *)auth error:(NSError *)error
{
if (error != nil)
{
// Authentication failed
NSLog(@"Failed to authorise");
}
else
{
// Authentication succeeded
NSLog(@"Authorised");
}
}