我正在使用Social Login Plugin登录/注册Google帐户。如果用户是第一次注册,我想将它们重定向到"编辑个人资料"页面,以便他们可以完成他们的个人资料信息,如果他们不是新用户并且刚刚登录,我想在成功登录后将它们重定向到主页。如何检查用户是否是新用户?也许我们需要像flynsarmy.sociallogin.afterRegister
这样的新活动?我试着听rainlab.user.register
,但是在用户注册后它没有发射。
答案 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 插件时甚至不会触发。
我希望如果出现任何问题,请提供帮助,请发表评论。