如何处理非基于用户的授权 Laravel API?

How to handle authorization for a non-user based Laravel API?

我有一个 Laravel 网络应用程序,用于一家拥有自己用户群的餐厅。 我有另一个书店的 Web 应用程序,它有自己不同的用户群。

我想创建第三个应用程序(主要是 API,可能使用 Lumen),它可以在餐厅和书店的每笔交易中创建会计记录(即当我出售任何食物时) , 向这个 API 发出 POST 请求插入一条记录,如果我卖书也这样做)。

我如何保证 只有 来自我的网络应用程序的授权用户(任何用户)可以向我的 API 发出请求,而不要求他们提供任何额外的密码?

您可以为每个必须出现在 post 请求的 header 中的用户创建一个 api-key。 API 中应该有一个 table 将这些密钥与相应的 user_id.

一起存储

因此,您可以根据给定的 api-key.

来识别每个用户

这是 client credentials grant tokens oauth 流程的典型用例。

来自 laravel 护照文件:

The client credentials grant is suitable for machine-to-machine authentication. For example, you might use this grant in a scheduled job which is performing maintenance tasks over an API.