首页 > 解决方案 > 如何在 Rails + Devise + Oauth 中使用“以 {name} 身份继续”Facebook 按钮?

问题描述

我已经使用 Devise 和 Omniauth成功地将使用 Facebook 登录功能添加到了我的 Rails 5 应用程序中。

而不是我的静态按钮,我想实现 Facebook 的嵌入 "Continue as {name}" login button。在他们的文档中,他们将生成以下代码供您实现:

<div class="fb-login-button" data-size="large" data-button-type="continue_with" data-auto-logout-link="false" data-use-continue-as="true"></div>

第一个按钮是 Facebook 自己的,第二个是我的

像这样执行它显然是行不通的。我真的很希望能够以一种我可以指定它指向我的user_facebook_omniauth_authorize_path. 我怎么做?

我已经在网站上实现了 Facebook SDK。

先感谢您。非常感谢您的帮助!:-)

标签: ruby-on-railsfacebookdeviseomniauth

解决方案


Omniauth 使用服务器端登录流程,而此按钮是客户端登录流程的一部分。

只有通过嵌入客户端,它才能首先确定是否有登录的 Facebook 用户 - 在服务器端,该信息不可用。

服务器端和客户端的身份验证流程有很大的不同,所以我怀疑你是否能够实现这一点,而无需重写几乎完全处理登录的方式。


推荐阅读