我有一个Laravel项目,使用通行证通过/ outh / token路由对登录尝试进行身份验证。我还需要这种方法来检查用户表中名为“ validated”的字段是否设置为true。如果不是不允许他们登录并显示一条消息,说明“您的帐户尚未激活,请检查我们发送给您的电子邮件以激活您的帐户”。
执行此操作的唯一方法是创建自定义登录控制器吗?那么,这样做的安全性如何?除了检查用户名和密码并生成密码授予令牌之外,还有什么额外的护照可以做?
答案 0 :(得分:1)
我个人将使用自定义中间件,而不是修改oauth路由。您可以简单地查询用户记录以检查它们是否已激活,如果没有,则将其重定向。
public function handle($request, Closure $next) {
if (!auth()->user()->activated) {
return redirect('home');
}
return $next($request);
}