谷歌OAuth2记忆用户



我一直在他们的Objective-C库中尝试谷歌提供的OAuth2api。

无论如何,我很难理解我是如何让应用程序记住谁登录的。我已经成功地使用以下方法进行了身份验证。

我调用下面的方法来呈现来自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");
    }
}

我不熟悉Objective-C库,但Google参考的这一部分可能会很有用。它解释了如何使用身份验证令牌,以及在用户重新启动应用程序时如何处理钥匙链。

相关内容

  • 没有找到相关文章

最新更新