继续获得401未经授权的“无效凭证”Laravel Passport

时间:2017-10-31 13:33:23

标签: php laravel laravel-5 oauth-2.0 laravel-passport

我通过播种机生成了一些演示用户。我可以通过oauth / token登录这些用户。但是当我创建新用户时。我不能再登录了。它总是给我401未经授权的“无效凭证”。我做了所有的研究。我通过POSTMAN测试我完全无能为力。这是我的注册方法:

$user = new User;
$user->name = ucfirst($request['name']);
$user->email = $request['email'];
$user->password = bcrypt($request['password']);
$user->save();
return response()->json('success'); 

这是在Laravel护照提供的oauth / token路线中发布时执行的方法:

public function issueToken(ServerRequestInterface $request)
    {
        return $this->withErrorHandling(function () use ($request) {
            return $this->convertResponse(
                $this->server->respondToAccessTokenRequest($request, new Psr7Response)
            );
        });
    } 

请帮帮我!!

1 个答案:

答案 0 :(得分:0)

好吧最后我已经弄明白为什么会遇到这个问题。我在User.php中有方法

public function setPasswordAttribute($password)
{   
    $this->attributes['password'] = bcrypt($password);
}

默认情况下加密我的密码字段。

但是我忘记了它并且在数据库上保存密码时再次进行加密

$user->password = bcrypt($request['password']);

所以它加密了两次。因此我无法匹配凭据。完全是我的坏事。