身份验证
本页译自英文。如两者有出入,以英文页面为准。 阅读英文页面
你用一个 OAuth 客户端的客户端 ID 和客户端密钥来创建客户端,其余的都交给库处理。它从不向你索要访问令牌。
库为你做的事
- 一次交换,共同使用。 第一个需要令牌的调用会用你的凭据换取一个令牌。如果多个调用同时开始,它们都会等待这同一次交换,而不是各自发起一次。
- 缓存到快要过期为止。 令牌会一直被复用,直到它过期前 60 秒,然后在下一次调用时被替换。后台不会刷新任何东西,所以空闲的进程不会发出任何请求。
- 遇到 401 重试一次。 如果 API 拒绝了某个令牌,库会丢弃它,获取一个新令牌,再把这次调用重复一次。第二次 401 会作为 API 错误抛出。
- 有时限的交换。 得不到应答的令牌请求会在 30 秒后失败,因此缓慢的令牌端点不会拖住所有调用方。
- 没有可泄露的东西。 客户端密钥和每一个访问令牌在日志、调试输出和错误消息中都显示为
[REDACTED]。
不需要令牌的操作(例如列出 API 版本)从不发送令牌,所以没有凭据创建的客户端也能调用它们。
把密钥留在你的服务器上
客户端密钥标识的是你的应用,而不是你的用户。请把它保存在服务器的配置或密钥存储中,绝不要把它随浏览器页面或移动应用一起发布出去。