通过使用OAuth 2.0身份验证引入Google's new API,开发人员可以设置刷新令牌,这需要最终用户仅对应用程序进行一次身份验证。
开发人员可以为他/她的项目set a scope。对于刷新令牌OAuth设置,用户只需要批准一次应用程序的身份验证,此后,Google的服务器将使用刷新令牌处理重新身份验证。
根据开发人员最初指定的范围,同意屏幕将根据所选范围通知用户应用程序可以访问/修改的内容。请考虑Stackoverflow上的以下Gmail 示例:
现在,如果稍后阶段的开发人员更改了应用程序的范围,用户将不必重新批准身份验证,因为最初基于刷新令牌设置了身份验证,或者假设offline access
。
用户最初批准"查看您的电子邮件地址"仅限访问(例如)现在,应用程序可以执行各种各样的事情,具有修改权限,查看数据,联系人等,最初未经最终用户批准
这有点是安全漏洞/隐私泄露,用户无法确定应用程序是否正在这样做。
还有其他人注意到这种行为吗?当然这不道德吗?
P.S。我已将Stackoverflow 仅用作示例,我并未指责此网站这样做:)
答案 0 :(得分:0)
这是您在行动中发现的实际安全漏洞,还是可疑漏洞?
根据我的参考和经验,使用刷新令牌"来检索具有相同或更小范围的额外令牌以进行单独的资源调用" [1]例如,在从我的身份验证流程中省略范围之后,我收到了一个访问令牌,专门拒绝了与省略范围相关的任何请求。
这表示在获取用户刷新令牌后更改项目的范围将不允许您访问未经授权的任何内容。