Php 继续获取未经授权的401';无效凭证';拉威尔护照
我已经通过seeders生成了一些演示用户。我可以通过oauth/token登录这些用户。但当我创建新用户时。我不能再登录了。它总是给我401个未经授权的“无效凭证”。我做了所有的研究。我正在通过邮递员进行测试,我完全不知所措。这是我的注册方法:Php 继续获取未经授权的401';无效凭证';拉威尔护照,php,laravel,laravel-5,oauth-2.0,laravel-passport,Php,Laravel,Laravel 5,Oauth 2.0,Laravel Passport,我已经通过seeders生成了一些演示用户。我可以通过oauth/token登录这些用户。但当我创建新用户时。我不能再登录了。它总是给我401个未经授权的“无效凭证”。我做了所有的研究。我正在通过邮递员进行测试,我完全不知所措。这是我的注册方法: $user = new User; $user->name = ucfirst($request['name']); $user->email = $request['email']; $user->password = bcrypt
$user = new User;
$user->name = ucfirst($request['name']);
$user->email = $request['email'];
$user->password = bcrypt($request['password']);
$user->save();
return response()->json('success');
这是在Laravel passport提供的oauth/令牌路由中过帐时执行的方法:
public function issueToken(ServerRequestInterface $request)
{
return $this->withErrorHandling(function () use ($request) {
return $this->convertResponse(
$this->server->respondToAccessTokenRequest($request, new Psr7Response)
);
});
}
请帮帮我 好的,我终于明白了为什么会有这个问题。我在User.php中有一个方法
public function setPasswordAttribute($password)
{
$this->attributes['password'] = bcrypt($password);
}
这是默认情况下加密我的密码字段
但我忘记了,在数据库中保存密码时又在加密
$user->password = bcrypt($request['password']);
所以它加密了两次。因此,我无法匹配凭据。完全是我的错。好的,我终于明白为什么会有这个问题了。我在User.php中有一个方法
public function setPasswordAttribute($password)
{
$this->attributes['password'] = bcrypt($password);
}
这是默认情况下加密我的密码字段
但我忘记了,在数据库中保存密码时又在加密
$user->password = bcrypt($request['password']);
所以它加密了两次。因此,我无法匹配凭据。完全是我的错。我想你已经检查了数据库,以确保用户的注册和存储正确吗?当然可以!我已经做了所有可能的事情,但仍然没有线索。你能显示你的授权代码吗?好的,对于授权,我使用laravel/passport oauth/token route,它基本上生成api。我没有为此写任何东西。我用它在oauth/令牌路由调用时执行的方法编辑了我的问题。你可以看一看我假设你已经检查了数据库,以确保用户的注册和存储是正确的?当然可以!我已经做了所有可能的事情,但仍然没有线索。你能显示你的授权代码吗?好的,对于授权,我使用laravel/passport oauth/token route,它基本上生成api。我没有为此写任何东西。我用它在oauth/令牌路由调用时执行的方法编辑了我的问题。你可以看看