繁体   English   中英

多个服务器中RESTful API的身份验证

[英]Authentication for RESTful API in multiple servers

在开始之前,我想告诉我,我是构建RESTful API的新手,并且从未涉及任何身份验证。

我想设置一个主服务器,该服务器将从客户端获取API请求(让服务器IP /域为api.example.com)。 我希望能够使用POST请求通过API密钥将文件发送到服务器。 我可以通过哪些方式验证主服务器中的API密钥,然后根据API密钥(如两个类别0和1)将文件从那里再次发布到另一台服务器

如果该文件在客户端服务器上公开可用,那么我是否只是将url发送到主服务器,然后将其传递到第二台服务器,然后再将文件下载到该服务器上,这是否很好? 一旦完成,客户端也将不得不使用GET请求。

我正在考虑在主服务器上安装wordpress以简化注册(编写一个插件来为每个用户生成api)。 这是个好主意吗 ?

我已经看到了: Web API创建API密钥

但是客户端将是公共的(我将编写的所有客户端服务将是开源的,并且api本身是开放的,以供开发人员根据自己的需要进行开发。)因此,我认为使用任何方法对键进行哈希处理都可以颠倒,因为上市。 我只想使用一个大约30个字符的API密钥及其电子邮件地址,并在主服务器中进行匹配。

编辑

我只是想出了一些办法,但我不知道这是否是个好策略。 如果我可以要求用户添加将向其发出请求的域,然后仅将一个API密钥发送给服务器,以便服务器可以在APIKey和该域之间进行匹配,并且列出该密钥,则继续POST。

您可以使用HTTP标头来实现身份验证。 通常,用户将对base64编码包含颁发给他们的API密钥的AUTH标头。 服务器应用程序将从接收到的HTTP请求中解码此API密钥,并从数据源执行查找以验证密钥。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM