OmniAuth ruby​​ on rails,迫使facebook用户在当前登录facebook时重新进行身份验证

时间:2012-08-23 16:20:17

标签: ruby-on-rails facebook facebook-graph-api omniauth

我有一个用户授权的facebook应用程序。我想在令牌过期时重新进行身份验证。问题是当用户已经登录到Facebook并且他们已经授权应用程序时,Facebook只会重定向回redirect_url。我不希望这种行为,因为用户可能有多个Facebook帐户,他们登录的帐户可能不正确。 最初的facebook授权通过服务器端身份验证进行。

我想要:

  • 选择一个[帐户]进行身份验证(这是理想的)或
  • 强制他们重新验证自己的Facebook凭据

我想避免使用javascript sdk强制注销然后重新登录,如果可能的话。出于维护原因,我想保留一切服务器端。

3 个答案:

答案 0 :(得分:3)

您可以configure omniauth-facebookauth_type设置为reauthenticate来强制重新认证。

答案 1 :(得分:1)

我不知道如何强制重新验证用户身份。 (这将是更好的解决方案)但这是我第一次听到有人希望令牌过期更快。 (令牌最后2小时,https://developers.facebook.com/blog/post/2011/05/13/how-to--handle-expired-access-tokens/)。

您的用例非常不寻常:

用户可能拥有多个Facebook帐户,而他们登录的帐户可能不是正确的

谁有多个Facebook帐户? 也许如果您是开发人员,您将需要一个额外的帐户,但最好使用它: https://developers.facebook.com/docs/test_users/

此致

Ivangrx

答案 2 :(得分:1)

  

强迫他们重新验证自己的Facebook凭据

OAuth对话框为Re-Authentication提供了一种方法 - 但我不太确定这是否符合您的需求,因此您必须尝试一下。