Я переспрашиваю и обновляю этот вопрос, а также удаляю свой старый, так как комментарий отклонился от нормы.
Первый раз, используя Laravel Passport
, и я потратил часы, пытаясь выяснить это.Я звоню в конечную точку API с сайта Wordpress
.И Passport
, и Laravel 5.7.19
являются текущими версиями вчерашней чистой установки.
Мой API работает нормально, используя Postman
, с Passport
аутентификацией.
Я вызываю Laravel Passport
API от Wordpress
, например:
$args = array(
'method' => 'POST',
'timeout' => '45',
'redirection' => '5',
'httpversion' => '1.0',
'blocking' => true,
'headers' => array(
'Accept' => 'application/json',
'X-Requested-With' => 'XMLHttpRequest',
'Authorization' => 'Bearer dd4b28b53ea...',
),
'body' => array(
'email' => $email,
'channel_url' => $channel_url,
'api_key' => $api_key,
),
'cookies' => array()
);
// PING API
$response = wp_remote_post( $login, $args );
Если мой маршрут находится внутри группы auth:api
, например:
Route::group([
'middleware' => 'auth:api'
], function() {
Route::post('my/route', 'Api\AuthController@userChannel');
});
Сбой с 401
на wp_remote_post()
звонок.С Postman
+ Bearer token
это работает.
Выбор маршрута вне группы auth:api
работает для Wordpress
и Postman
, и я могу войти в систему / просмотреть токен:
[2019-02-11 05:23:32] local.INFo: Bearer dd4b28b53ea...
Я попытался изменить .htaccess
file и php artisan optimize:clear
и Passport::withoutCookieSerialization();
в AppServiceProvider
, как предлагается в многочисленных сообщениях, но безуспешно.
Исключение на стороне Laravel
:
The resource owner or authorization server denied the request. {"exception":"[object] (League\\OAuth2\\Server\\Exception\\OAuthServerException(code: 9): The resource owner or authorization server denied the request. at /home/vagrant/src/my-app/vendor/league/oauth2-server/src/Exception/OAuthServerException.php:215, InvalidArgumentException(code: 0): The JWT string must have two dots at /home/vagrant/src/my-app/vendor/lcobucci/jwt/src/Parser.php:95)