我的浏览器或服务器主要是API。但API不是API。
我想创建API,服务器1和2可以通过它进行通话。但我希望它们经过身份验证。这意味着必须确保连接是通过授权的地方进行的。
我可以使用SSL请求,然后发送长唯一ID。这看起来最简单。
我可以使用一些复杂的OAuth ......但既然双方都是我,为什么还要考虑范围。
我可以将域API网址设置得很长并且无法猜测,并保留一个只有我的主服务器知道并将用于连接的秘密。与第1步类似,更容易。
所有人都需要SSL ..
答案 0 :(得分:1)
为了实现低但不缺少安全性但低于oauth复杂度的良好平衡,您可以使用简单的API密钥作为身份验证令牌。
require("rand-token").generator({source: "crypto"}).generate(20);
Authorization: key abababababababa...
。我从那开始。随着时间的推移,你可以根据项目的状态逐渐添加更多的东西,最后得到所有额外的铃声和口哨oauth2和其他高级系统提供的临时到期令牌,重播保护,费率限制,散列和签名参数,刷新机制,细化权限等。