Как обработать авторизацию для не-пользовательского API Laravel?

У меня есть веб-приложение Laravel для ресторана с собственной базой пользователей. У меня есть другое веб-приложение для книжного магазина со своей собственной базой пользователей.

Я хотел бы создать третье приложение (в основном API, возможно, с использованием Lumen), которое может создавать учетные записи как из ресторана, так и из книжного магазина по каждой сделанной транзакции (т.е. когда я продаю любую еду, сделаю запрос POST к этому API, чтобы вставьте запись и сделайте то же самое, если я продам книгу).

Как я могу гарантировать, что только авторизованные пользователи из моих веб-приложений (любой пользователь) могут отправлять запросы на мой API, не запрашивая у них дополнительного пароля?

2 ответа

Решение

Это типичный сценарий использования потока авторизации для предоставления учетных данных клиента.

Из паспортной документации:

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

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

Таким образом, вы можете идентифицировать каждого пользователя на основе данного API-ключа.

Другие вопросы по тегам