如何在Rails + Devise + Oauth中使用“以{name}身份继续” Facebook按钮?

时间:2019-01-23 15:30:19

标签: ruby-on-rails facebook devise omniauth

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

我想代替我的静态按钮来实现Facebook嵌入的“以{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>

First button is Facebook's own and second one is mine

仅以这种方式实施显然是行不通的。我真的很希望能够以一种可以指定它定向到我的user_facebook_omniauth_authorize_path的方式来处理它。我该怎么办?

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

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

1 个答案:

答案 0 :(得分:0)

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

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

服务器端和客户端端的身份验证流有相当大的区别,因此我怀疑您是否能够实现这一点,而无需重写几乎完全处理登录的方式。