有没有办法通过Cartalyst Sentinel中的电子邮件/链接/代码对用户进行身份验证?
我在Laravel 5.1中构建一个简单的用户注册,在注册后发送激活电子邮件。 通过点击链接,我想在相同的操作中激活和验证用户,但我还没有设法做到这一点。
唯一的方法似乎是传递凭据(Sentinel::($credentials)
),但我只需要激活所需的$code
和$id
,并要求输入密码(顺便说一句,通过电子邮件发送会有点不安全。
有没有办法做到这一点? 提前谢谢!
答案 0 :(得分:2)
如果您拥有或可以检索用户对象(无论如何都需要完成用户激活),那么您可以使用login()登录没有凭据的用户。
$user = Sentinel::findById($id);
Sentinel::login($user);
整个过程应该是这样的:
$user = Sentinel::findById($id);
if ( ! Activation::complete($user, $activationCode))
{
// ERROR - Invalid or expired activation code.
}
// Login the User
Sentinel::login($user);
// Redirect to where you want to take them