我目前正在实现 Javascript Facebook 登录 API。
根据来自 Facebook 的回调响应,此客户端脚本然后将带有查询字符串参数的请求发送到我们网站上的 URL。根据该 URL 中的电子邮件,对客户端进行身份验证。
这是不安全的。Facebook(据我所知)没有返回我们可以验证的其他令牌,并且我们希望根据查询字符串参数中的电子邮件登录用户,并且没有密码。
我想添加另一个查询字符串参数,让我们确信查询字符串数据来自 Facebook 响应后的 JavaScript 重定向。
我认为这应该是由客户端脚本创建的某种散列值,我可以与服务器端进行比较。但是,通过客户端 cookie 或检查客户端脚本,攻击者可以使用用于创建此密钥的每个资源。
我可以使用一种通用且安全的方法来解决此问题吗?