【问题标题】:What are APP_CLIENT_ID and SERVER_CLIENT_ID and where do I find them?APP_CLIENT_ID 和 SERVER_CLIENT_ID 是什么,我在哪里可以找到它们?
【发布时间】:2015-09-02 00:05:57
【问题描述】:

我正在尝试为我的 iOS 应用实现服务器端 API 访问。 Google 文档 (here) 在其第 2 步的代码示例中提到了 APP_CLIENT_IDSERVER_CLIENT_ID

这是他们的代码:

- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

  [GIDSignIn sharedInstance].clientID = @"APP_CLIENT_ID";
  [GIDSignIn sharedInstance].serverClientID = @"SERVER_CLIENT_ID";

  // Additional scopes, if any
  // [GIDSignIn sharedInstance].scopes = @[ @"other_scope" ];

  return YES;
}

什么是APP_CLIENT_IDSERVER_CLIENT_ID,我在哪里可以找到它们?它们都在 Google Developers Console 中吗?

【问题讨论】:

  • 在开发者控制台的“APIs & auth”下查看。 “凭据”部分将包含您可以粘贴的客户 ID,以代替“APP_CLIENT_ID”和“SERVER_CLIENT_ID”。
  • 那么SERVER_CLIENT_ID client_id 在Service account 下生成的JSON 密钥文件中,APP_CLIENT_ID 在 Client ID for iOS 应用程序下列出的 Client ID?

标签: ios google-signin


【解决方案1】:

APP_CLIENT_ID 字符串替换为 iOS 应用的已安装应用程序 OAuth 2.0 客户端 ID,通过添加凭据并选择以下单选进行配置:

SERVER_CLIENT_ID 字符串存储 Web 服务器 OAuth 2.0 客户端 ID,并从控制台配置为:

在控制台中的“Web 应用程序的客户端 ID”下列出的服务器客户端 ID 仅在您检索授权代码以在混合授权场景中授权您的服务器时使用,并且是可选的。指定SERVER_CLIENT_ID 时,您可以检索授权代码,并且可以在您从 iOS 应用授权用户时在后端服务上将代码交换为刷新令牌。

传统上,客户端 ID 已通过 Google Developer Console 配置为 described here。但是,使用最新的库,您可以generate a configuration 并按照iOS developer guide for Google Sign-In 中的说明加载它。

【讨论】:

  • 所以在混合授权场景中(我试图在没有 Web 服务器端帮助的情况下实现 iOS 端)是SERVER_CLIENT_ID“Web 应用程序的客户端 ID”下列出的“客户端 ID” “?
  • 是的,你明白了。通过使用SERVER_CLIENT_ID,您可以使用服务器的设置来交换代码,而不必使用 iOS 应用程序的设置。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-28
  • 2017-01-08
  • 1970-01-01
  • 2012-07-07
  • 1970-01-01
相关资源
最近更新 更多