我正在处理Google api(oauth2.0)和DropBox api(oauth1.0),
只是想知道如何保护只能通过谷歌服务器调用redirect_uri和仅由 Dropbox 服务器oauth_callback。
我检查他们的IP吗?由于 url 始终是公开的,如果没有保护,可能会有人发现 uri 并在没有服务器通知的情况下进行攻击。
我错过了什么准则吗?
[已编辑]我错了,redirect_uri和oauth_callback实际上是由客户端调用的,而不是由身份验证服务器调用的。所以我应该检查最终用户 ip,以确保它们是请求令牌的同一个。
您不会通过检查IP来防止任何攻击。普通用户不会泄露他们的令牌,因此您不应该获得您获得的令牌的虚假机密。如果攻击者控制了用户的计算机并获取了令牌,他们还可以使用计算机向redirect_uri发出请求,因此 IP 检查将通过。
另一方面,应确保将https
用于 OAuth 流,以便保护令牌免受网络嗅探。