这是一个非常高级别的问题,也是一个高级别的答案,所以我只是在寻找正确方向的一些指示。
假设我想构建一个Web应用程序来管理用户的Google通讯录。我了解这是通过允许用户使用其Google帐户登录同时要求管理其Google通讯录的权限来完成的。到目前为止一切都很好。
现在我想为外部浏览器扩展,Android客户端等公开我自己的API层。但是,虽然我希望API客户端对Google进行身份验证,但我不希望应用程序拥有对用户日历的完全访问权限,因为秘密令牌存储在服务器上。
那么,这通常如何处理?我想尽可能地通过本书来完成,而不必实现大量的安全代码。
不过,虽然这个问题太高了,但请随时指点我的技术文档。由于
答案 0 :(得分:1)
只有有限的OAuth范围才能保证对用户资源的有限访问权限:
https://developers.google.com/gdata/docs/auth/oauth#Scope
某些API(例如Contacts API)仅提供单个范围,可让您访问所有数据。在这种情况下,用户只能在允许您访问所有联系人或不访问任何联系人之间进行选择。
其他API公开不同的OAuth范围,允许开发人员仅请求访问用户数据的子集。一个很好的例子是Google Drive API,它有5个不同的范围供开发人员选择: