我一直在互联网上搜索有关如何正确生成api密钥的信息,该密钥与任何用户无关,只与应用程序安装有关,并且没有提出太多问题。所以我要么完全以错误的方式思考这个问题,要么我没有正确地提出这个问题。
所以,这就是我想要做的事情,如果我以错误的方式思考,请告诉我。
我正在使用MySQL后端制作PHP Rest API。我没有用户可以谈论,但我想用apikey保护我的休息api,这样我至少可以记录使用情况和其他指标。这个API主要由Android应用程序使用,但我也希望任何客户端类型都可以灵活地使用它。所以我想创建和端点名为" generateToken"这将返回一个可用于调用服务的apiKey。就应用而言,他们将在安装期间点击此generateToken端点,然后将其保存在应用程序生命周期的共享首选项存储区或钥匙串中。这是一个基本上设置apikey来识别个人呼叫等的合适方式吗?我是否以错误的方式思考这个问题?我应该建立某种用户存储,虽然我没有真正使用它,除了保护api。
答案 0 :(得分:0)
我继续前进并按照上面提到的那样创建了一个generateToken端点。我还要求将当前的utc时间作为参数传递给我的api,以防止垃圾邮件并作为一项额外的安全措施。所以我检查过去的utc时间与当前的utc时间相差不超过60秒。如果不是那么这是一个无效的电话。