【发布时间】:2021-09-19 08:50:09
【问题描述】:
我的 laravel SPA 仪表板中有几条似乎不起作用的规则,它们总是返回 false 并且不确定这是正确的还是我的逻辑有问题。
我使用 Sanctum 在 Laravel 8 中提供验证令牌,但我还在我的刀片父视图文件中添加了在开始构建身份验证检查时。
我的问题是 laravel auth() 是否与 sanctum 一起使用,您如何使用 PHP 看到 sanctum 有效/工作
vue.blade.php
// this will not work when I login
@if (Auth::check())
<script>
window.Laravel = {!!json_encode(['isLoggedin' => true, 'user' => Auth::user()])!!}
</script>
@else
<script>
window.Laravel = {!!json_encode(['isLoggedin' => false])!!}
</script>
@endif
loginController.php
$credentials = [
'email' => $request->email,
'password' => $request->password,
];
if (auth()->attempt($credentials)) {
if (Hash::check($request->password, $user->password)) {
$request->user()->createToken('token_name')->plainTextToken;
return with logic
}
}
}
config/auth.php
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
'hash' => false,
],
'admin' => [
'driver' => 'token',
'provider' => 'users',
],
'auth' => [
'driver' => 'token',
'provider' => 'users',
'hash' => false,
],
],
【问题讨论】: