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



我正在使用社交登录插件登录/注册谷歌帐户。如果用户是第一次注册的,我想将他们重定向到"编辑配置文件"页面,这样他们就可以完成他们的配置文件信息;如果他们不是新用户,刚刚登录,我想在成功登录后将他们重定向至主页。如何检查用户是否是新用户?也许我们需要一个像flynsarmy.sociallogin.afterRegister这样的新活动?我试着听rainlab.user.register,但在用户注册后它并没有启动。

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

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

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

(问题是它没有注册后事件:(因为它有flynarmy.socialogin.registerUser,但它在注册前激发…)

所以我想每次用户注册时。默认值将设置为1,在下一个请求中,您可以让登录用户检查此列的值,如果它的1重定向到配置文件页面,则当用户在存储中填充配置文件页面时,将此值设置为0,这样下次流将转到成功页面。

更新


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

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

oc socialogin插件也是如此,但它将使用Auth::register(..args)注册用户,然后它不会启动rainlab.user.register,而是启动flynarmy.socialogin.registerUser事件,并且它在注册方法之前启动它。

因此,我想在这种情况下,当用户使用oc socialogin插件注册时,rainlab.user.register甚至不会启动。

我希望这将有助于任何问题的评论。

最新更新