OctoberCMS:如何知道用户是登录还是注册社交登录插件?

时间:2017-11-19 05:28:11

标签: octobercms octobercms-plugins

我正在使用Social Login Plugin登录/注册Google帐户。如果用户是第一次注册,我想将它们重定向到"编辑个人资料"页面,以便他们可以完成他们的个人资料信息,如果他们不是新用户并且刚刚登录,我想在成功登录后将它们重定向到主页。如何检查用户是否是新用户?也许我们需要像flynsarmy.sociallogin.afterRegister这样的新活动?我试着听rainlab.user.register,但是在用户注册后它没有发射。

1 个答案:

答案 0 :(得分:1)

我现在想到的是,只需从您自己的插件扩展User表(添加额外的列first_time或fist_time_register),将其默认值分配给" 1"。

我在代码中看到它试图找到提供者的用户(谷歌等) 如果它发现它将返回并登录他并重定向到成功页面。

如果没有找到注册他,请登录他然后重定向到成功页面。

(问题是它在注册事件之后没有:(因为它有flynsarmy.sociallogin.registerUser但它在注册之前就会触发......)

所以我猜每次用户都注册了。 default将设置为1并且在下一个请求中您可以登录用户检查此列值,如果其1重定向到配置文件页面,当用户填写配置文件页面时,将此值设置为0,以便下次流程将成为成功页面。

<强>更新

我检查了rainlabn.user插件的代码

它将使用 Auth :: register(.. args)注册用户,然后触发事件 rainlab.user.register

oc-sociallogin-plugin 同样如此,但它将使用 Auth :: register(.. args)注册用户然后& #39;没有触发 rainlab.user.register ,而是触发 flynsarmy.sociallogin.registerUser 事件,并在注册方法之前触发它。

所以,我想在这种情况下, rainlab.user.register 在用户注册 oc-sociallogin-plugin 插件时甚至不会触发。

我希望如果出现任何问题,请提供帮助,请发表评论。