gpt4 book ai didi

facebook - 使用 omniauth 到 facebook 连接具有不同权限的现有用户

转载 作者:行者123 更新时间:2023-11-30 05:22:36 25 4
gpt4 key购买 nike

我正在使用 devise/omniauth 进行 facebook 身份验证并且效果很好。但是,我想添加一个现有(非 facebook)用户能够将他的帐户与 facebook 连接的流程。这将需要不同的 facebook 权限。所以我似乎找不到两件事

  1. 如何在不注销当前用户的情况下使用 devise/omniauth 请求 facebook 连接
  2. 向用户请求不同的扩展权限(与设计配置文件中指定的不同)

有什么想法吗?谢谢

最佳答案

问题 1 的答案非常简单:只需像这样将 if 路径添加到 omniauth_callbacks_controller::process_callback 方法中

  # If a user is signed in then he is trying to link a new account
if user_signed_in?
if authentication.persisted? # This was a linking operation so send back the user to the account edit page
flash[:success] = I18n.t "controllers.omniauth_callbacks.process_callback.success.link_account",
:provider => registration_hash[:provider].capitalize,
:account => registration_hash[:email]
else
flash[:error] = I18n.t "controllers.omniauth_callbacks.process_callback.error.link_account",
:provider => registration_hash[:provider].capitalize,
:account => registration_hash[:email],
:errors =>authentication.errors
end
redirect_to edit_user_account_path(current_user)

这就是我在我的应用程序中所做的并且工作正常。

关于问题 2,我不知道如何支持 2 种不同的 facebook 身份验证配置,但是我很难看出这对用户有何用处,因为他们需要在两条路径上获得一致的体验:“使用 facebook 登录”和“链接您的 Facebook 账号”。(如果你仍然想走这条路,我想探索的一个想法是创建一个具有独立 key 和配置的新 facebook 应用程序......)

希望这对您有所帮助。

关于facebook - 使用 omniauth 到 facebook 连接具有不同权限的现有用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7837737/

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