javascript - Node.js 客户端 api key

标签 javascript ios node.js mongodb backend

我有一个 ios 应用程序的 node.js 后端,它将向应用程序提供 json 数据。我想处理每个应用程序的客户端身份验证。用户无需创建帐户。我只想在提供数据时识别客户端应用程序,并在 Node 服务器上为每个客户端保存一些数据。

  1. 如何识别服务器上的每个应用程序?
  2. 如果我需要创建 API key ,该如何处理?
  3. 如果有一种方法可以在应用首次访问 API 时对应用进行身份验证,我如何为应用创建唯一标识符?
  4. 最后,在部署 Node 服务器之前我需要了解什么?我可以通过将一个域指向我的路由器、打开一个端口并从那里提供 api 来摆脱困境,还是必须设置一个 Web 服务器来处理这个问题?

谢谢

最佳答案

您基本上可以找到很多博客文章来获取设计 API 时可遵循的最佳实践。但这是一个总体想法

  1. 您可以创建客户端 key 并在每个 API 请求中发送它或添加为网址的一部分

    Example: api.example.com/v1/users?client=android&version=1.1

  2. 使用中间件。您可以根据自己的方便命名,也可以使用数据库来存储键值来管理您的客户。 示例:

    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

  3. 创建 API key 的方法有很多种。以下是其中一些

    UUID - https://www.npmjs.com/package/uuid

    Json web token - https://github.com/auth0/node-jsonwebtoken

    Oauth - https://github.com/ciaranj/node-oauth

  4. 同样,您有很多在线帖子解释了生产中要遵循的最佳实践。如果是express.js,您可以在此处找到可遵循的最佳实践Express Production

这只是一个概述。我要求你在网上做大量的研究,并询问你在学习中面临的相对更具体的问题。

关于javascript - Node.js 客户端 api key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43690501/

相关文章:

json - Node js : change csv file encoding programatically and parse to json

javascript - 使用 ExtJS 显示连续进度条

javascript - 我如何使用 javascript 添加 attr

javascript - 如何检查元素类子项是否具有特定类

javascript - 如何使用ejs和node制作模态框

ios - 关于使用 ionic 框架的 iOS IPv6 网络

node.js - 如何将这些 JSON 对象返回到浏览器而不是控制台

ios - 比较两个 NSDate 会返回误报

android - 将数据从我的混合 Ionic 2 应用程序传递到 inAppBrowser

javascript - mysql2插入值nodejs