我設置了Laravel Passport,目前我正在嘗試向Post Route註冊用戶。我確實在Controllers/Api/Auth
內部創建了一個RegisterController
。Laravel Passport註冊用戶憑據不正確
因此,我創建了一個客戶表,它看起來像用戶表激動。 如果我調用路由,客戶端會被創建,但我沒有獲得訪問令牌或刷新令牌。
到我的控制器的路線是這樣的(路由/ API):
Route::post('register', ['as' => 'register', 'uses' => 'Api\Auth\[email protected]']);
我的控制器看起來是這樣的:
<?php
namespace App\Http\Controllers\Api\Auth;
use App\Client;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Route;
use Laravel\Passport\Client as PClient;
use Illuminate\Http\Request;
class RegisterController extends Controller
{
private $client;
public function __construct() {
$this->client = PClient::find(1);
}
public function register(Request $request)
{
$this->validate($request, [
'name' => 'required',
'email' => 'required|email|unique:users,email',
'password' => 'required|min:6|confirmed'
]);
$client_user = Client::create([
'name' => request('name'),
'email' => request('email'),
'password' => bcrypt(request('password'))
]);
$params = [
'grant_type' => 'password',
'client_id' => $this->client->id,
'client_secret' => $this->client->secret,
'username' => request('email'),
'password' => request('password'),
'scope' => '*'
];
$request->request->add($params);
$proxy = Request::create('oauth/token', 'POST');
return Route::dispatch($proxy);
}
}
這是我的客戶端模式:
class Client extends Model implements AuthenticatableContract,
AuthorizableContract,
CanResetPasswordContract
{
use Authenticatable, Authorizable, CanResetPassword, HasApiTokens, Notifiable;
protected $table = 'clients';
protected $fillable = ['name', 'email', 'password'];
protected $hidden = ['password', 'remember_token'];
完全誤讀了這個問題,然後誤判了你的答案,所以實際上+1 – ash
首先感謝你的答案,我改變了這一行,更新了我的問題中的控制器,但我仍然得到相同的錯誤信息 – utdev
好吧,這很奇怪,如果我改變客戶端到用戶它的作品,但我不明白爲什麼想法? – utdev