Laravel API Authentication (Passport) Неявные маркеры предоставления — ошибка 401

У меня действительно странная проблема с Laravel 5.5 Passport API Authentication.

Мне нужно разрешить внешнему сайту проходить аутентификацию с помощью метода «Implicit Grant Token» и получать данные из API.

Я застрял на аутентификации. JavaScript отправляет запрос AJAX в API, но все, что он получает взамен, — это ошибка 401 (неавторизованная) (вместо токена).

Настройка по книге
(https://laravel.com/docs/5.5/passport#implicit-grant-tokens)

  1. Fresh Laravel 5.5 установить

  2. Добавлен Laravel CORS https://github.com/barryvdh/laravel-cors

  3. Установка паспортного пакета composer require laravel/passport

  4. миграция php artisan migrate

  5. Паспорт установить php artisan passport:install

  6. App\User модель скорректирована

  7. AuthServiceProvider отрегулированный

  8. config/auth.php отрегулированный

  9. Образец клиента создан с php artisan passport:client

  10. Passport::enableImplicitGrant(); Добавлено в AuthServiceProvider

JS выглядит так:

var serialize = function(obj) {
var str = [];
for (var key in obj)
if (obj.hasOwnProperty(key)) {
str.push(encodeURIComponent(key) + "=" + encodeURIComponent(obj[key]));
}
return str.join("&");
}

var request = new XMLHttpRequest();
var data = {
'client_id': '1',
'response_type': 'token',
'redirect_uri': 'http://localhost',
'scope': ''
}
request.onreadystatechange = function(res) {
if (request.readyState == XMLHttpRequest.DONE) {
//console.log(res.responseText);
}
}
request.open('GET', '//localhost/oauth/authorize?' + serialize(data), true);
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
request.setRequestHeader('Accept', 'application/json');

request.send();

К сожалению, 401 ERROR — это все, что у нее получается.

Все файлы доступны на:
https://github.com/michalduda/laravel-passport.git

Ты хоть представляешь, что не так?

5

Решение

Вы пропустили опубликовать свой контент из:

route\api.php
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]