认证方式
关于认证:
https://www.cnblogs.com/badboyh2o/p/11068779.html
https://www.cnblogs.com/badboyh2o/p/11069470.html
Token认证
- 用途:一般用于登录,token包含授权信息。
- 原理:任何请求,都附带token;服务端根据token判断请求是否合法。
- 缺点:如果报文在中途被劫持,那么token就泄露了,这时(token有效期内)黑客就可以构造任意的请求了。
AK/SK的认证
- 用途:一般用于后台程序执行API调用时的服务端认证;AK标识用户,SK作为对称加密通信的秘钥。?
- 原理:
客户端:
构建http请求(包含 access key);
使用请求内容和 使用secret access key计算的签名(signature);
发送请求到服务端。
服务端:
根据发送的access key 查找数据库得到对应的secret-key;
使用同样的算法将请求内容和 secret-key一起计算签名(signature),和步骤2一样;
对比用户发送的签名和服务端计算的签名,两者相同则认证通过,否则失败。