此项目包含 Swift 包,可用于编写命令行工具和云服务,这些工具和服务使用 OAuth 来验证身份和授权对远程服务的访问。
目前,这些包支持 OAuth1 和 OAuth2。它们旨在在 OS X 系统以及运行在 Google Cloud 中的 Linux 系统上工作。
在 OS X 系统上,可以使用本地安装的浏览器和一个自动在命令行客户端中运行的本地 Web 服务器来获取 OAuth 令牌。
在 Linux 系统上,可以从 Google Cloud Metadata Service 自动获取 OAuth 令牌。
在 Linux 和 OS X 系统上,可以为 Google Cloud Service Accounts 自动获取 OAuth 令牌。
Sources/Examples 包含一些示例,说明了针对各种服务的 OAuth1 和 OAuth2 登录。 每个示例都需要有效的应用程序凭据才能运行。 请参阅各个服务提供商的详细信息。
BrowserTokenProvider 类使用本地 Web 服务器来实现“三方 OAuth”登录,用户在浏览器中授予权限,提供商的服务器会将浏览器重定向到客户端服务器,并附带一个代码。 这些提供程序在 $HOME/.credentials
中期望的“credentials” YAML 文件中查找 OAuth 配置信息。 示例凭据文件位于 credentials 中,包括客户端 ID、客户端密钥和 OAuth 服务 URL。 当 OAuth 服务需要注册的回调 URL 时,应将其设置为 https://:8080/SERVICE/callback
,其中 SERVICE
在相应的 credentials YAML 文件中指定。 临时 Web 服务器在本地端口 8080 上运行。
这是朝着优秀的服务器端 Swift 软件迈进的工作。 在生产项目中使用它时请小心:始终参考标记的版本,并注意接口可能会在将来的版本中更改。
我们很乐意在这方面进行合作。 有关详细信息,请参见 CONTRIBUTING.md。
版权所有 2019, Google Inc.
根据 Apache 2.0 许可证发布。