Rest Api 密钥没有用户凭据

Rest Api Key No User Credentials

我一直在互联网上搜索有关如何正确生成 api 密钥的信息,该密钥不与任何用户相关联,而仅与应用程序安装相关联,但没有找到太多信息。所以要么我完全以错误的方式思考这个问题,要么我没有正确地问这个问题。

这就是我正在尝试做的事情,如果我的想法有误,请告诉我。

我正在制作 PHP 休息 API 与 MySQL 后端。我没有用户可言,但我想用 api 密钥保护我的休息 api,这样我至少可以记录使用情况和其他指标。这个 api 将主要由 Android 应用程序使用,但我也希望能够真正被任何客户端类型使用。所以我正在考虑创建一个名为 "generateToken" 的端点,它将 return 一个可用于调用服务的 apiKey。就应用程序而言,它们将在安装期间点击此 generateToken 端点,然后在应用程序的生命周期内将其保存在共享首选项存储或钥匙串中。这是实质上设置 api 键来识别单个呼叫等的适当方法吗?我在想这个错误的方式吗?我是否应该建立某种用户存储,尽管除了保护 api.

之外我对它没有任何实际用途

我继续按照我上面提到的那样做,并创建了一个 generateToken 端点。我还要求将当前的 utc 时间作为参数传递给我的 api,以防止垃圾邮件并作为一项额外的安全措施。所以我检查过去的 utc 时间与当前的 utc 时间相差不超过 60 秒。如果不是,则为无效调用。