0

这是一个非常高级的问题,也是一个高级别的答案,所以我只是在寻找一些正确方向的指针。

假设我想构建一个 Web 应用程序来管理用户的 Google 通讯录。我知道这是通过允许用户使用他的 Google 帐户登录同时请求管理他的 Google 通讯录的权限来完成的。到目前为止,一切都很好。

现在我想为外部浏览器扩展、Android 客户端等公开我自己的 API 层。但是,虽然我希望 API 客户端对 Google 进行身份验证,但我不希望应用程序拥有对用户日历的完全访问权限,因为 Secret令牌存储在服务器上。

那么,这通常是如何处理的呢?我想尽可能地按书本做,而不必实现大量的安全代码。

顺便说一句,虽然问题太高了,但请随时向我指出技术文档。

谢谢

4

1 回答 1

1

对用户资源的有限访问只能通过有限的 OAuth 范围来保证:

https://developers.google.com/gdata/docs/auth/oauth#Scope

一些 API,例如 Contacts API,只提供一个范围,让您可以访问所有数据。在这种情况下,用户只能选择让您访问他的所有联系人或不让您访问。

其他 API 公开不同的 OAuth 范围,允许开发人员仅请求访问用户数据的子集。Google Drive API 就是一个很好的例子,它有 5 种不同的范围供开发人员选择:

https://developers.google.com/drive/scopes

于 2012-07-30T04:14:17.267 回答