Я создаю приложение реагирования, которое использует паспорт laravel для получения и публикации данных из базы данных.У меня есть полный контроль над кодом приложения и кодом внутреннего интерфейса laravel.
Я могу просто создать токен доступа, используя клиент или просто выдав его пользователю, но не могу использовать этот токен доступа для доступа к данным, как описано здесь .Отправка такого запроса с помощью сгенерированного токена доступа дает мне каждый раз 401.
Я считаю, что моя проблема заключается в создании клиентов.У меня есть 2 клиента (сделанные при запуске php artisan passport: install), но у них обоих user_id = null.Я предполагаю, что это должно быть установлено некоторое целое число, когда пользователь использует клиент, например, для выдачи токена доступа?Но это не так.
Итак, кто-нибудь имеет представление о том, что я делаю неправильно?
Ниже я публикую свою пользовательскую модель, а также файлы миграции users и oath_clients.Не стесняйтесь просить больше кода, если это необходимо!
Модель пользователя:
class User extends Authenticatable
{
use HasApiTokens, Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email', 'api_token', 'redcap_token', 'password',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
}
Миграция пользователей:
class CreateUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('api_token', 60)->unique();
$table->string('password');
$table->rememberToken();
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('users');
}
}
Миграции Oauth
class CreateOauthClientsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('oauth_clients', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id')->index()->nullable();
$table->string('name');
$table->string('secret', 100);
$table->text('redirect');
$table->boolean('personal_access_client');
$table->boolean('password_client');
$table->boolean('revoked');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('oauth_clients');
}
}