Objective-C中的Google用户serverAuthCode为零

Iul*_*rei 8 objective-c ios google-signin

我正在尝试将该GoogleSignIn框架集成到iOS应用程序中,并对服务器上的用户进行身份验证.我设法登录用户,但在- (void)signIn:(GIDSignIn *)signIn didSignInForUser:(GIDGoogleUser *)user withError:(NSError *)error委托方法中,user.serverAuthCodenil,我需要将此服务器身份验证代码传递给服务器上的用户身份验证代码.

我阅读了这个文档页面,它说明我必须设置它的serverClientID属性[GIDSignIn sharedInstance],但是它没有说明我在哪里找到这个"服务器客户端ID".我用世界上所有的密钥进行测试都无济于事.

然后我找到了这个文档页面,看起来它试图告诉我们在哪里找到这个神奇的id,但它使用了不好的措辞并没有帮助.我确实有类型的OAuth2凭据Web application,但是:

  1. 它们用于Web(客户端)应用程序,它与我的iOS应用程序相对应,后者也与服务器通信
  2. 我尝试过使用它,但它没有用.

有没有人设法成功逃脱谷歌(可怜)文档的魔力?

小智 8

你需要确保[GIDSignIn sharedInstance].serverClientID设置属性; 该值可在Google API控制台中找到.

另外,如果你有user.serverAuthCodenil价值,一定要叫[[GIDSignIn sharedInstance] signOut];任何后续尝试之前.否则[GIDSignIn sharedInstance]似乎记得以前的配置.

serverAuthCode在模拟器中没有问题.


Iul*_*rei 5

尽量不要在模拟器上运行它:)

  • 它也发生在我的设备上.. serverAuthCode是零 (4认同)