1

在我的应用程序中,用户可以选择使用 google + 登录到应用程序?这里登录页面仅显示一次,当用户从下一次点击 google Plus 按钮时第一次点击 google plus 按钮时,它直接导航到权限页面而不是登录页面

我的代码是

/////////////登录代码

GPPSignIn *signIn = [GPPSignIn sharedInstance];
signIn.delegate = self;
signIn.shouldFetchGooglePlusUser = YES;
signIn.shouldFetchGoogleUserEmail = YES;  // Uncomment to get the user's email
signIn.shouldFetchGoogleUserID= YES;
signIn.clientID = kClientId;
signIn.scopes = [NSArray arrayWithObjects:
                 kGTLAuthScopePlusLogin, // defined in GTLPlusConstants.h
                 nil];
signIn.actions = [NSArray arrayWithObjects:@"http://schemas.google.com/ListenActivity",nil];
[signIn authenticate];

//////////////////////注销代码

  - (void)Logout:(id)sender {

     [[GPPSignIn sharedInstance] signOut];
    [self performSelector:@selector(disconnect) withObject:nil afterDelay:1.0f];
   }
   - (void)disconnect {
[[GPPSignIn sharedInstance] disconnect];
  }
4

1 回答 1

1

一旦用户通过您的身份验证,GPP 库就会在钥匙串中存储一个刷新令牌。下次他们回来时,您可以调用 trySilentAuthentication 来检查他们是否可以自动登录。

如果您确实退出并再次调用身份验证,如果他们已经在该设备上授予同意,该应用将不会向他们显示同意屏幕。在这种情况下,您试图断开连接以强制它,但因为您是在注销后执行此操作,令牌已被删除。

如果您希望您的用户每次都看到登录屏幕(尽管这听起来不是很好的体验!)只需存储一个本地标志以表明他们是否已经这样做,并且在此之前不要调用身份验证.

于 2013-10-28T14:01:58.600 回答