Как обойти уровень авторизации при тестировании API на проекте laravel? - PullRequest
0 голосов
/ 31 мая 2018

Я использую базовый Auth от laravel, который вы получаете, выполнив следующую команду:

php artisan make:auth

У меня есть API, написанный для того, чтобы серверная часть на сервере могла обновлять / создавать сервисы и статусы.Проблема, с которой я сталкиваюсь, заключается в том, что администратор также имеет пользовательский интерфейс в веб-приложении и может создавать службы или обновлять их статус вручную.Поэтому у меня есть уровень авторизации для методов, в которых вы должны войти в систему, чтобы использовать их.

Теперь, когда я вызываю метод в почтальоне, он перенаправляет меня на страницу входа, мне было интересно, есть ли способ обойти этот уровень Auth строго для API?

Мне сказали оспособ делать предварительные запросы сценариев непосредственно в почтальоне, но я совершенно заблудился, когда дело доходит до всего этого, и чувствую, что есть более простой способ сделать это.Я также уже пытался выполнить «базовую авторизацию» с именем пользователя и паролем, но, похоже, он не работал.

Заранее спасибо за помощь!

Редактировать: Вот скриншот смой заголовок .

1 Ответ

0 голосов
/ 31 мая 2018

Я предполагаю, что если у вас есть API, у вас установлен api_token для конкретного пользователя.Вы можете использовать это внутри Postman одним из двух способов.

  1. Вы перейдете на вкладку Заголовки и добавите:

Key: Authorization

Value: Bearer API_TOKEN_VALUE

Отредактировано: Добавлен скриншот почтальона

enter image description here

Вы можете изменить URL для запроса и добавить токен:

url_to_api_endpoint?api_token=API_TOKEN_VALUE

На маршрутах API, если у вас есть ->middleware('auth:api') Laravel прочитает токен авторизациииз заголовка или с помощью параметра запроса и проверьте его в значении базы данных.

Добавление api_token в таблицу пользователя

Если у вас нет api_token поле в вашей пользовательской таблице, а затем добавить один.Это не то же самое, что remember_token, они разные.Поэтому добавьте к миграции пользователей следующее:

$table->string('api_token', 60)->unique();

Вам нужно будет обновить пользователей api_token, используя что-то вроде следующего:

$user = User::find(1);
$user->update(['api_token' => str_random(60)]);

Эта строка из 60 символов, которую вы будете использоватькуда я положил VALUE_OF_TOKEN_FROM_DB

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...