适用于 .NET 的 Google API 客户端库使用 client_secrets.json
文件来存储 client_id
、client_secret
和其他 OAuth 2.0 参数。
client_secrets.json
文件是包含客户端 ID、客户端密钥和其他 OAuth 2.0 参数的 JSON 格式文件。以下是 Web 应用的 client_secrets.json
文件示例:
{ "web": { "client_id": "asdfjasdljfasdkjf", "client_secret": "1912308409123890", "redirect_uris": ["https://www.example.com/oauth2callback"], "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://accounts.google.com/o/oauth2/token" } }
以下是已安装应用的 client_secrets.json
文件示例:
{ "installed": { "client_id": "837647042410-75ifg...usercontent.com", "client_secret":"asdlkfjaskd", "redirect_uris": ["http://localhost"], "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://accounts.google.com/o/oauth2/token" } }
该格式定义了两种客户端 ID 类型之一:
web
:Web 应用。installed
:已安装的应用。
web
和 installed
子对象具有以下强制成员:
-
client_id
(字符串):客户端 ID。 -
client_secret
(字符串):客户端密钥。
此文件的所有其他成员都是可选的,.NET 客户端库不会使用它们。
动机
以往,OAuth 2.0 端点的提供方希望使用其服务将注册页面中的客户端 ID 和客户端密钥复制并粘贴到工作代码中。这种方法容易出错,无法完整呈现 OAuth 2.0 正常运行所需的信息。
(OAuth 2.0 还需要知道所有端点并配置重定向 URI。)
如果服务提供商提供可下载的 client_secrets.json
文件,并且客户端库已准备好使用这些文件,则实现 OAuth 2.0 会更加容易,并且不易出错。