Oauth 2.0 如何将在浏览器上经过身份验证的电子邮件地址安全地传输到服务器?

Oauth 2.0 如何将在浏览器上经过身份验证的电子邮件地址安全地传输到服务器?,oauth-2.0,hello.js,Oauth 2.0,Hello.js,我能够使用“hello.js”库(在客户端实现oauth2协议)获取通过第三方应用程序(Google和Facebook)验证的用户的电子邮件地址 当然可以通过HTTPS将电子邮件地址发送到服务器,但是如何防止交换被欺骗?也就是说,如何确保服务器从浏览器接收的电子邮件地址是通过第三方应用程序验证的电子邮件地址 可能电子邮件地址在发送到“redirect_uri”的消息中的某个位置,该uri在发送到客户端的过程中通过服务器,但如果是这样,我找不到它。它不在GET或POST参数中。Andrew Dod

我能够使用“hello.js”库(在客户端实现oauth2协议)获取通过第三方应用程序(Google和Facebook)验证的用户的电子邮件地址

当然可以通过HTTPS将电子邮件地址发送到服务器,但是如何防止交换被欺骗?也就是说,如何确保服务器从浏览器接收的电子邮件地址是通过第三方应用程序验证的电子邮件地址


可能电子邮件地址在发送到“redirect_uri”的消息中的某个位置,该uri在发送到客户端的过程中通过服务器,但如果是这样,我找不到它。它不在GET或POST参数中。

Andrew Dodson,“hello.js”的作者在Gitter上为我回答了这个问题。他写道:

客户端web应用程序需要发送令牌(登录后查找) 使用hello('facebook')。getAuthResponse().access_令牌)返回您的 服务器此令牌可在任何地方用于向 第三方

因此浏览器不会向服务器发送实际的电子邮件地址。相反,它发送令牌,然后服务器使用令牌向第三方应用请求与该令牌关联的电子邮件地址