gpt4 book ai didi

ruby-on-rails - 设计:在同一个应用程序中使用可注册和可全认证

转载 作者:行者123 更新时间:2023-12-04 05:58:27 24 4
gpt4 key购买 nike

如何在 Devise 中同时使用 registerableomniauthable 模块?

具体来说,我希望能够让用户执行以下操作:

  1. 使用电子邮件和密码注册/登录
  2. 注册/登录 Facebook(通过 omniauth)
  3. 将 Facebook 帐户附加或删除到他们的帐户,以便他们可以使用电子邮件或 Facebook 帐户登录。

我根本不知道怎么做 3。

1 和 2 已经完成,但奇怪的是,如果用户注册了 Facebook 帐户,我不需要显示(或要求)他们输入密码来更新他们的个人资料。

那么,我该如何...

  1. 让用户将 Facebook 帐户附加到他们当前的帐户,以便他们可以使用任一帐户登录。
  2. 如果用户仅使用 Facebook 帐户注册,我如何在编辑他们的设置时隐藏(并且不需要)密码字段。

最佳答案

Let users attach a Facebook account to their current account so they can login with either.

  • 在用户设置页面添加“链接到 Facebook 帐户”的链接
  • 该链接只是通过使用 OmniauthCallbacksController 的正常 Facebook 身份验证过程驱动用户,只需确保在您的 OmniauthCallbacksController facebook 方法中添加一些代码以查看用户是否已经登录,如果他是您只需添加身份验证 token 对于用户(我有一个存储每个用户的身份验证 token 的表)

If the user only signed up with a Facebook account, how do I hide (and not require) the password fields when editing their settings.

看看这个:https://github.com/plataformatec/devise/wiki/How-To:-Allow-users-to-edit-their-account-without-providing-a-password

希望这对您有所帮助。

关于ruby-on-rails - 设计:在同一个应用程序中使用可注册和可全认证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7354073/

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