Я работаю с простым API с Lumen, но я столкнулся с проблемой.Я хочу удалить пользователя, если он является пользователем, но моя авторизация не работает.
Для входа в систему я использую токен JWT.
UserController.php
/**
* Delete user by user id.
*
* @param int $id
*
* @return mixed
*/
public function delete($id)
{
$user = User::find($id);
$this->authorize('delete', $user);
$user->delete();
return response()->json([
'success' => 'User deleted with success'
], 200);
}
UserPolicy.php
class UserPolicy
{
public function delete(User $user, User $user_current)
{
return $user->id === $user_current->id;
}
}
AuthServiceProvider.php
public function boot()
{
Gate::policy(User::class, UserPolicy::class);
$this->app['auth']->viaRequest('api', function ($request) {
if ($request->header('Authorization')) {
return User::where('api_token', $request->input('api_token'))->first();
}
});
}
Я не понимаю, почему это не работает.