使用 Google API 时,credentials.JSON 有什么作用?

问题描述 投票:0回答:1

我对编程相当陌生,我刚刚了解了面向对象编程和一些数据库的基础知识。我只是想知道是否有人可以深入解释 Google 在尝试使用其 API 时的凭据.JSON 文件的作用。如果这很重要的话,我正在使用 Visual Studio 和 C#。

oauth google-api google-oauth google-developers-console
1个回答
1
投票

Google 的凭据.JSON 包含有关您的应用程序的信息,这些信息将向 google 识别。它还为您的应用程序提供了一些所需的信息,以便找到 Google 的 oauth 服务器并使用它。

您应该知道文件分为三种类型。 Web、本机和服务帐户。这些文件设计用于不同类型的应用程序。

Web 应用程序将使用 Web 凭据和为 Web 应用程序授权而设计的代码 本机应用程序将使用本机凭据和设计用于与本机应用程序授权一起使用的代码。 仅用于开发人员拥有的数据之间的服务器到服务器通信且不需要访问用户信息的应用程序将使用服务帐户凭据和服务帐户授权所需的代码。

下面是用于 Web 应用程序的 oauth 凭据的示例。

{
   "web":{
      "client_id":"450547033183-5uok2fl5u.apps.googleusercontent.com",
      "project_id":"developer-info-2b41cd",
      "auth_uri":"https://accounts.google.com/o/oauth2/auth",
      "token_uri":"https://oauth2.googleapis.com/token",
      "auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs",
      "client_secret":"Fu8ZmTGOMvHjqQEseZE68hg",
      "redirect_uris":[
         "https://developer-info-2b41cd.firebaseapp.com/__/auth/handler"
      ],
      "javascript_origins":[
         "http://localhost",
         "http://localhost:5000",
         "https://developer-info-2b41c.firebaseapp.com"
      ]
   }
}
  • client_id 向 google 标识客户端,以便他们知道这是哪个 oauth 客户端,您可以为每个项目创建多于一组凭据。
  • project_id 您在 Google 开发者控制台上的项目。
  • auth_uri 您需要联系 google 进行授权的 Url 端点
  • token_uri 请求初始令牌所需的 uri 端点。
  • auth_provider_x509_cert_url 所有oauth证书的位置
  • client_secret 将此视为您的客户端 ID 的密码。
  • redirect_uris 您希望将身份验证返回到的授权网址。

其中 99% 被 Google 的 Oauth2 服务器用来授权您的应用程序和尝试登录的用户。如果您对 Oauth2 的工作原理感兴趣,我建议您阅读一些 Oauth 的 RFC。

© www.soinside.com 2019 - 2024. All rights reserved.