ゲイン:グーグルサインイン - 私はこのようなiOSの上で私のユーザーでログインしてる新しいServerAuthCode
[GIDSignIn sharedInstance].clientID = kGoogleClientID; // From services.plist
[GIDSignIn sharedInstance].serverClientID = kGoogleServerID; // from api console, web application
// those two are not needed for the auth code
[GIDSignIn sharedInstance].shouldFetchBasicProfile = YES;
[GIDSignIn sharedInstance].scopes = @[@"email", @"profile"];
[GIDSignIn sharedInstance].delegate = self;
[[GIDSignIn sharedInstance] signIn]
ログイン画面が登場し、ユーザーがログインした後、私はこのようなserverAuthCodeを得ることができます。
を- (void)signIn:(GIDSignIn *)signIn
didSignInForUser:(GIDGoogleUser *)user
withError:(NSError *)error {
// Perform any operations on signed in user here
if (nil == error)
{
NSLog(@"Google Server Auth Code:%@", user.serverAuthCode);
}
}
これは初めてのことですが、ユーザーがアプリを再起動して再びGoogleにログインすると、ログイン画面が再び表示される必要はありません。したがって、signInは即座に成功しますが、新しい自動コードはありません。また、サーバー上で別のログインを実行するために別のserverAuthCodeが必要な場合もありますが、別のログイン画面でユーザーを煩わしたくない場合もあります。
すでにログインしているユーザーに対して、新しいserverAuthCodeを取得するにはどうすればよいですか?
確かに可能ですが、ユーザーにとっては非常に面倒です。 – keyboard
同意します。私の側では、このトークンを一度取り込んでリフレッシュトークンを処理するだけでよいので、これは許容される解決策ですが、それがあなたのニーズに合致しないかどうかはわかります。 解決策以上の回避策です。しかし、これはSDKのバグであり、https://issuetracker.google.com/issues/63673654に従って修正されていない可能性があります –