-1

我是 ROR 的新手,正在尝试构建基于邀请的身份验证。目前,我正在使用 Omniauth-facebook 在我的网站上使用 fb 登录。但是,我希望用户拥有一个自定义 url,例如 - “www.mysite.com/invite/”,他们可以共享它来推动注册。我还将跟踪这些推荐,以便我可以激励用户推动此类登录。我对如何继续一无所知,任何开始的指针都会很棒。

一种方法可能是为“/invite/:invite_code”设置路由,在触发“/auth/facebook”之前,我可以读取邀请码并增加计数器,但是如何检查“/auth/facebook”是否" 仅从邀请页面调用。这听起来正确吗?还是有更好的解决方案?

非常感谢!

4

1 回答 1

0

您将auth/facebook在 OmniAuth 回调控制器中或多或少地发布此代码:

def facebook
  Invitation.increment if request.env['omniauth.params'][:from_invitation_page]
  # OR
  # Invitation.increment if request.env['omniauth.origin'].match /your_invitation_url/

看到:

request.env['omniauth.origin']

自动设置,同时:

request.env['omniauth.params']

设置呈现如下链接:

omniauth_authorize_path(:user, :facebook, var: 'value', var2: 'value2' )

来源

于 2013-05-19T19:22:26.847 回答