0

我正在使用带有 omniauth-google-oauth2 的设计来验证我网站的用户。如果我请求电子邮件和配置文件范围,我会收到一个响应,其中包括用户电子邮件以及指示电子邮件是否已验证的字段。

如果谷歌说他们的电子邮件已经过验证并且它与我的数据库中的一个帐户匹配(或者如果一个帐户尚不存在,则创建一个帐户),我想直接登录用户。

但是,我注意到其他人似乎让您记住上次登录时使用的服务。仅信任谷歌报告的电子邮件是否存在某种安全隐患(这不是银行应用程序,所以我只想确保有人不能 MITM 回复并更改电子邮件)?请注意,回调 url 需要 https,但我担心有人仍然会中断该连接,然后重新连接并用不同的值替换电子邮件等。

如果这是一个问题,有什么方法可以让用户以安全的方式从谷歌和其他 oauth/openID 提供商那里获取电子邮件,这样用户就不需要记住他们使用的是哪个提供商?

--

我一直在尝试弄清楚omniauth使用的流是否仅通过浏览器重定向获取信息,或者通过直接从服务器的oauth提供者发出请求来交换初始令牌。我认为后者可能是安全的,但我不确定。

4

0 回答 0