Laravel sanctum nuxtjs 前端的范围
Laravel sanctum scope for nuxtjs frontend
所以我正在尝试在前端和后端之间建立某种策略,一切正常,但是我对为我的应用程序用户声明范围感到有点困惑
ApiSessionController.php
public function login(Request $request)
{
$email = $request->get('email');
$password = $request->get('password');
$user = User::where('email', $email)->first();
$token = $user->createToken(
'token',
['role' => $user->getRoleNames()->first()]
);
if (Auth::attempt(['email' => $email, 'password' => $password])) {
return response()->json('', 204);
} else {
return response()->json('Invalid credentials', 403);
}
}
我确实意识到此代码当前不使用令牌,但是当我
时我看不到任何变化
return 响应()->json($token, 200);
Nuxt.js frontend default.vue
<v-btn v-if="this.$auth.hasScope('admin')">admin</v-btn>
<v-btn v-else>No admin</v-btn>
现在,我已经阅读 https://laravel.com/docs/7.x/sanctum 很多很多遍了 -
和
Route::middleware('auth:sanctum')->get('/user', function(Request $request) {
return $request->user();
});
return我的用户很好,但是我不知道如何通过令牌(我假设?)在后端创建范围并在前端 nuxtjs 中访问该范围。
暂时找到解决方案:)
说明:设置一个作用域,当nuxtjs从laravel GET用户调用
中获取你的用户信息
Route::middleware('auth:sanctum')->get('/user', function(Request $request) {
$user = $request->user();
$user['scope'] = $user->insertScopeMethod();
return $user;
});
所以我正在尝试在前端和后端之间建立某种策略,一切正常,但是我对为我的应用程序用户声明范围感到有点困惑
ApiSessionController.php
public function login(Request $request)
{
$email = $request->get('email');
$password = $request->get('password');
$user = User::where('email', $email)->first();
$token = $user->createToken(
'token',
['role' => $user->getRoleNames()->first()]
);
if (Auth::attempt(['email' => $email, 'password' => $password])) {
return response()->json('', 204);
} else {
return response()->json('Invalid credentials', 403);
}
}
我确实意识到此代码当前不使用令牌,但是当我
时我看不到任何变化return 响应()->json($token, 200);
Nuxt.js frontend default.vue
<v-btn v-if="this.$auth.hasScope('admin')">admin</v-btn>
<v-btn v-else>No admin</v-btn>
现在,我已经阅读 https://laravel.com/docs/7.x/sanctum 很多很多遍了 - 和
Route::middleware('auth:sanctum')->get('/user', function(Request $request) {
return $request->user();
});
return我的用户很好,但是我不知道如何通过令牌(我假设?)在后端创建范围并在前端 nuxtjs 中访问该范围。
暂时找到解决方案:) 说明:设置一个作用域,当nuxtjs从laravel GET用户调用
中获取你的用户信息Route::middleware('auth:sanctum')->get('/user', function(Request $request) {
$user = $request->user();
$user['scope'] = $user->insertScopeMethod();
return $user;
});