我正在使用rails后端和ember js前端开发一个Web应用程序。 我想在我的应用中集成谷歌日历。由于谷歌没有为谷歌API提供任何ember.js SDK,因此我使用Javascript SDK。
现在,我希望用户在一台计算机上为我的应用授权谷歌日历。当他从我在机器1上的应用程序注销并登录到机器2时,我希望谷歌日历仍然被授权。
此外,当oauth令牌在某个时间后自动过期时,我想再次重新生成它(通过使用刷新令牌?)而不是要求用户再次授权。当用户自己撤销权限时,我不会这样做。
有人可以就如何做到这一点给我一些指导吗?
答案 0 :(得分:0)
不要认为可以登录一台计算机并自动登录另一台计算机。您可能希望使用service accounts for Calendar API代替:
在企业应用程序中,您可能希望以编程方式访问 用户数据,无需任何手动授权。在谷歌 应用程序域,域管理员可以授予第三方 应用程序在域范围内访问其用户'数据 - 这是参考 作为域范围的授权。授权这个 方式,域管理员可以使用OAuth 2.0的服务帐户。
Refreshing an access token (offline access):
详细介绍了实施刷新令牌的情况HTTP/REST implementation:
POST /oauth2/v4/token HTTP/1.1
Host: www.googleapis.com
Content-Type: application/x-www-form-urlencoded
client_id=<your_client_id>&
client_secret=<your_client_secret>&
refresh_token=<refresh_token>&
grant_type=refresh_token