我有一个 ios 应用程序的 node.js 后端,它将向应用程序提供 json 数据。我想处理每个应用程序的客户端身份验证。用户无需创建帐户。我只想在提供数据时识别客户端应用程序,并在 Node 服务器上为每个客户端保存一些数据。
- 如何识别服务器上的每个应用程序?
- 如果我需要创建 API key ,该如何处理?
- 如果有一种方法可以在应用首次访问 API 时对应用进行身份验证,我如何为应用创建唯一标识符?
- 最后,在部署 Node 服务器之前我需要了解什么?我可以通过将一个域指向我的路由器、打开一个端口并从那里提供 api 来摆脱困境,还是必须设置一个 Web 服务器来处理这个问题?
谢谢
最佳答案
您基本上可以找到很多博客文章来获取设计 API 时可遵循的最佳实践。但这是一个总体想法
您可以创建客户端 key 并在每个 API 请求中发送它或添加为网址的一部分
Example: api.example.com/v1/users?client=android&version=1.1
使用中间件。您可以根据自己的方便命名,也可以使用数据库来存储键值来管理您的客户。 示例:
Create a Middleware which does the handling of authentication and API key checker before you forward it to the routes.
android => 0, ios => 1, web => 2
url: api.example.com/v1/users?client=0&version=1.1
创建 API key 的方法有很多种。以下是其中一些
UUID - https://www.npmjs.com/package/uuid
Json web token - https://github.com/auth0/node-jsonwebtoken
同样,您有很多在线帖子解释了生产中要遵循的最佳实践。如果是express.js,您可以在此处找到可遵循的最佳实践Express Production
这只是一个概述。我要求你在网上做大量的研究,并询问你在学习中面临的相对更具体的问题。
关于javascript - Node.js 客户端 api key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43690501/