首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用来自OAuth的电子邮件进行身份验证安全吗?

使用来自OAuth的电子邮件进行身份验证安全吗?
EN

Security用户
提问于 2022-06-29 22:46:31
回答 2查看 334关注 0票数 0

我正在实现OAuth (更具体地说,“与谷歌登录”)的网站,它一直只使用电子邮件和密码多年。

现在,我正在阅读的指南建议在uid回调中阅读OAuth。但是,与其他方法签约的现有用户在数据库中没有该信息。基本上他们会得到一个新的,单独的帐户。

但是,如果我能够用电子邮件来识别用户,我可以提供一个更好的流程:用户将立即被识别。

我的网站上的电子邮件地址是通过电子邮件确认核实的。

依赖像Google这样的身份提供者返回的电子邮件安全吗?还是我应该只依赖于"provider / uid“来进行身份验证?

EN

回答 2

Security用户

发布于 2022-06-29 23:58:27

通常,在使用外部登录时,需要为每个用户存储一个唯一的ID。考虑以下情况:

  1. 用户A向example.com注册电子邮件user@example.com
  2. 用户A使用外部SSO在您的站点上创建一个帐户。你把账户链接起来。
  3. 用户A删除他们的帐户。
  4. 用户B用电子邮件user@example.com注册。

用户B现在可以访问用户A的所有数据,这是非常糟糕的(并且还可能使您承担法律责任,这取决于管辖权)。请注意,如果用户A使用电子邮件和密码注册,用户B就不会有密码,因此不可能登录。如果您认为电子邮件重用不是一个问题,我向您保证,它确实发生在一些财富500强公司。

许多站点所做的是拒绝使用SSO登录,如果已经有一个带有该电子邮件地址的现有帐户,迫使它们使用现有的凭据,然后一旦登录,允许它们链接这两个帐户。这是解决问题的一种安全方法,如果人们愿意的话,还可以让人们在未来利用SSO。

票数 1
EN

Security用户

发布于 2022-07-02 01:34:29

OAuth不用于身份验证.。您应该使用用于身份验证的协议,比如OpenID连接(该协议的一部分使用OAuth )。

OAuth的普通用例是获取一个令牌,授权您的应用程序代表用户对其他服务执行操作。例如,您可以为用户的Google帐户获得一个OAuth令牌,以便从您的应用程序中代表用户访问特定的Google。

票数 1
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/263046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档