在laravel 6中找不到类'Auth'

问题描述 投票:-1回答:3

[这是我在api.php中的路线。身份验证后,我没有通过其他途径获得用户详细信息

Route::post('/login','CustomLogin@userLogin');
Route::group(['middleware' => 'auth:api'], function(){
    Route::post('/change-password','ChangePassword@changePassword');
});

public function changePassword(ChangepassRequest $request){
         $user = Auth::user();
         print_r($user);
         die();
    }

更新:那时我是laravel的新手。。因此,实际问题是未找到类Auth!谢谢你的意见!我也在更新我的答案!

php laravel api
3个回答
1
投票

如果您在令牌系统中正确设置了所有设置,则登录方法可能有问题。

您可以使用下面的代码段登录用户,但可以根据您的凭据进行更改。

<?php 

class AuthController extends Controller
{
    /**
     * Get a JWT via given credentials.
     *
     * @return \Illuminate\Http\JsonResponse
     */
    public function login()
    {
        if (request::has(['email', 'password'])) {

            $user = User::whereEmailAndPassword(request()->get('email'),request()->get('password'))->first();
            $credentials = request(['email', 'password']);

            if ($user and $token = auth()->attempt($credentials)) {
                return response()->json(['message' => 'Login Successful', 'jwt_token'=>$token], 200);
            } else {
                return response()->json(['message' => 'Unauthorized'], 401);
            }

        } else {
            return response()->json(['message' => 'Pease provide your email and password to login'], 401);
        }
    }
}

当然,有一百种方法可以完成相同的操作


0
投票

您注释了$ user行,因此此变量根本没有声明。

    // $user = Auth::user();

您应该取消注释:))


0
投票

解决方案正在我的控制器中添加use Auth!就这样

© www.soinside.com 2019 - 2024. All rights reserved.