首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何安全接入API?

如何安全接入API?
EN

Stack Overflow用户
提问于 2015-03-26 04:41:01
回答 1查看 38关注 0票数 0

我接触过的主要是浏览器或服务器的API。而不是API到API。

我想创建一个API,服务器1和服务器2可以通过它进行通信。但我希望他们能被认证。这意味着它必须确保连接是通过授权位置进行的。

我可以使用SSL请求,然后发送长的唯一id。这似乎是最简单的。

我可以使用一些复杂的OAuth。但既然双方都是我,何必为范围操心呢。

我可以使域API url非常长,并且不可猜测,并将其保密,只有我的主服务器才会知道,并将用于连接。与步骤1类似,甚至更简单。

所有都需要SSL..

EN

回答 1

Stack Overflow用户

发布于 2015-03-26 04:57:14

为了在较低的安全性和远低于oauth的复杂度之间取得良好的平衡,您可以使用一个简单的API密钥作为身份验证令牌。

  • 令牌应该是伪随机的,并使用适当的加密库生成。例如:require("rand-token").generator({source: "crypto"}).generate(20);
  • tokens显然必须保持安全和保密(服务器上严格的文件系统权限,不要将它们检入到git中,不要通过纯文本HTTP发送它们,等等) compromised.
  • other
  • 每个服务器都应该能够验证令牌(比如从它自己的数据库中),如果令牌是令牌,则删除/撤销它们,而令牌的功能类似于传统web应用程序中的用户名/密码凭证,尽管您可能希望将它们包含在每个请求报头中,并且不需要会话或会话cookie。我使用了一个头文件,比如Authorization: key abababababababa....

我会从这个开始。随着时间的推移,您可以根据项目的状态逐渐添加更多内容,最终获得oauth2和其他高级系统提供的所有额外功能,如临时过期令牌、重放保护、速率限制、散列和签名参数、刷新机制、粒度权限等。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29266084

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档