Как обработать авторизацию для не-пользовательского API Laravel?
У меня есть веб-приложение Laravel для ресторана с собственной базой пользователей. У меня есть другое веб-приложение для книжного магазина со своей собственной базой пользователей.
Я хотел бы создать третье приложение (в основном API, возможно, с использованием Lumen), которое может создавать учетные записи как из ресторана, так и из книжного магазина по каждой сделанной транзакции (т.е. когда я продаю любую еду, сделаю запрос POST к этому API, чтобы вставьте запись и сделайте то же самое, если я продам книгу).
Как я могу гарантировать, что только авторизованные пользователи из моих веб-приложений (любой пользователь) могут отправлять запросы на мой API, не запрашивая у них дополнительного пароля?
2 ответа
Это типичный сценарий использования потока авторизации для предоставления учетных данных клиента.
Из паспортной документации:
Предоставление учетных данных клиента подходит для проверки подлинности между компьютерами. Например, вы можете использовать этот грант в запланированном задании, которое выполняет задачи обслуживания через API.
Вы можете создать API-ключ для каждого пользователя, который должен присутствовать в заголовке почтового запроса. В API должна быть таблица, в которой эти ключи хранятся с соответствующим user_id.
Таким образом, вы можете идентифицировать каждого пользователя на основе данного API-ключа.