Laravel 5中的JWT自定义身份验证

时间:2016-10-11 13:41:53

标签: php laravel-5 jwt

我在Laravel 5中为自定义模型类进行了身份验证。我已经更改了代表User类的auth.phpjwt.php属性。

JWT正在运行,但是,当我尝试登录时,它返回无效凭据错误,即使我在我的数据库中有注册表。

我一直以为它应该是关于加密的东西,所以我试图加密我的密码,我已经更新了DB中的hash de password字段(它还没有加密)。但它仍然给我带来了凭据错误。

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests\AuthRequest;
use App\Http\Requests;
use JWTAuth;
use Tymon\JWTAuth\Exceptions\JWTException;

class AuthController extends Controller
{
    public function login(AuthRequest $request) {
        $credentials = [
            'email'    => $request->input('email'),
            'password' => bcrypt($request->input('password'))
        ];

        try {
            if (! $token = JWTAuth::attempt($credentials)) {
                return response()->json(['error' => 'invalid_credentials'], 401);
            }
        } catch (JWTException $e) {
            return response()->json(['error' => 'could_not_create_token'], 500);
        }

        return response()->json(['token' => $token]);
    }
}

有人知道我怎么能解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题。这是我存储的密码和我的参数密码之间的问题。我取下了bcrypt并将字段加密到数据库中。