有三种选择:
- 头
- 网址
- 身体
我没有做太多的工作,authentication但我正在构建一个API需要它的东西.我以前做的是parse对api key (e.g sha-256) 的身体post要求.
但我刚刚意识到你不能用GET请求做到这一点,对吧?所以我需要找到最安全的方式来验证每个API请求.
我在想,传递users authenticationkey(用户数据库表中的存储)以及每个请求的oAuth密钥会更安全吗?这样任何黑客都需要两个密钥才能进入系统?
有没有人知道最好的方法是什么?有没有好的tutorials在线可以告诉我如何解析标题中的值?
要对router每个请求进行身份验证,我是否会检查每个请求api key?
有点像:
app.all('/api/v1/*', [require('./middlewares/validateRequestAPIKEY')]);
Run Code Online (Sandbox Code Playgroud)
我为移动应用程序设计了一些 API,以下是我为客户实现的:
The Keys will be passed in header
Run Code Online (Sandbox Code Playgroud)
在服务器端,我将检查每个 API 调用上的密钥以进行验证,在某些 API 中,您可能需要跳过验证(登录就是一个示例)
这是我的实现
1) 不需要令牌/密钥过期:
2)当token需要过期时:
希望有帮助