gpt4 book ai didi

ruby-on-rails - Devise + Omniauth 可以有多种登录方式吗?

转载 作者:行者123 更新时间:2023-12-04 15:15:01 25 4
gpt4 key购买 nike

我已经使用 Devise 作为其他项目的标准认证 gem。在另一个项目中,我使用 Devise + Omniauth 进行 Twitter 身份验证。

在一个新项目中,我需要我的最终用户能够通过 Twitter 和 Facebook 登录或能够通过应用程序注册。将来,用户可以将他的帐户链接在一起。例如,他的 Twitter 和 Facebook 帐户。或者,他的 Twitter 和“本地”帐户。 “本地”是他直接在网络应用程序中注册的帐户。

Devise 有这种能力吗?如果是这样,我们如何将用户的帐户链接在一起?这背后的概念是什么?应用程序如何知道哪个 Facebook 和 Twitter 帐户属于哪个用户?

欢迎提出想法和建议。

编辑:

我一直在关注 http://railscasts.com/episodes/236-omniauth-part-2?autoplay=true而我没有得到的是。如果

  • 用户已退出应用程序,
  • 用户在应用上注册了一个账号,
  • 用户使用不同的服务提供商(facebook、twitter、
    等等)。

  • 应用程序如何知道如何将他的新服务提供商与他现有的帐户相关联?

    Stackoverflow.com 有这个功能。但是,他们的“多重登录”功能中没有包括的一个服务提供商是 Twitter。我猜这是因为 Twitter 不会通过他们的 API 公开用户的电子邮件。而其他服务提供商(Facebook、雅虎、Gmail)则这样做。

    最佳答案

    电子邮件通常用于链接所有帐户,但使用 Twitter,您无法获取电子邮件帐户。
    使用电子邮件并不是一个好的做法,因为用户不一定使用相同的电子邮件地址注册每个服务。

    在用户登录后询问他是否要使用 facebook/twitter/google/openid 进行身份验证是最简单的方法,并且对用户来说更容易预测。你必须防止“这个网站怎么知道我的facebook账户?他们为什么要跟踪我?”的影响。

    作为旁注,最困难的部分不是添加新的身份验证方法,而是合并帐户,例如,如果用户创建了一个使用 facebook 的帐户,一个使用 twitter 的帐户。

    关于ruby-on-rails - Devise + Omniauth 可以有多种登录方式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7066070/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com