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