专门说谷歌
第 1 步:
用户会看到一个网页,他们可以决定是否授予您访问权限
您在此实例中可以看到的访问范围是 Google 分析数据,具体取决于您要求用户访问不同内容的范围。
第 2 步:
假设用户点击接受并授予您访问权限,您将获得Authentication code。
验证码的用处不大。它们可能寿命很短,但我没有对此进行测试,也没有在文档中看到任何关于你必须使用它们的确切时间。
更新:身份验证代码仅适用于交换刷新令牌和访问令牌的一件事。完成此操作后,Authentication code 将毫无用处。 (第 3 步)
第 3 步:
您的系统将authentication code 与您的client id 和secret 一起再次发送到身份验证服务器。这次作为HTTP POST,宝贵的请求是HTTP GET。
然后服务器将返回给您一个访问令牌和一个刷新令牌。
{
"access_token" : "ya29.1.AADtN_VSBMC2Ga2lhxsTKjVQ_ROco8VbD6h01aj4PcKHLm6qvHbNtn-_BIzXMw",
"token_type" : "Bearer",
"expires_in" : 3600,
"refresh_token" : "1/J-3zPA8XR1o_cXebV9sDKn_f5MTqaFhKFxH-3PUPiJ4"
}
访问令牌是短暂的,它可以使用 3600 秒或一小时。只要用户不撤销您的访问权限,或者我认为它没有使用 6 个月,并且您的应用程序已被授予最多 25 个刷新令牌,refresh_token 就很好(需要仔细检查该数字你)
接下来的一小时,您可以使用访问令牌随意访问 API。
(更新)刷新令牌用于在过期后获取新的访问令牌。
第 4 步:
一小时结束且访问令牌不再有效后,您的系统应获取刷新令牌并从身份验证服务器请求新的访问令牌。
进一步阅读:
如果您想了解如何进行原始调用以及返回什么,请查看本教程3 legged oauth2 flow
还有一些轻松的床时间阅读The OAuth 2.0 Authorization Framework