我在users表中有remeber_token
字段。我对它的生成方式感到很困惑?因为我可以在数据库中看到两个不同用户的两种不同类型的令牌。
mFqEE5PUS4ZlOdQ51WEomGqJ1vFQCzw6zumvvW8rkpBUclC161HtvK8LsXXP
和另一种:
78x6c35esh2Ya0g4fb1d9
怎么回事?还记得使用不同算法生成的令牌和忘记密码令牌吗?
答案 0 :(得分:1)
我看了into the code并且它具有以下功能来生成令牌
protected function refreshRememberToken(AuthenticatableContract $user)
{
$user->setRememberToken($token = Str::random(60));
$this->provider->updateRememberToken($user, $token);
}
来自the docs:
<强> str_random()强>
str_random函数生成指定长度的随机字符串。该函数使用PHP的random_bytes函数:
你的令牌
mFqEE5PUS4ZlOdQ51WEomGqJ1vFQCzw6zumvvW8rkpBUclC161HtvK8LsXXP
有60个字母,我不知道为什么另一个令牌少了。