api安全设计
谈到api的使用,java开发的小伙伴都不陌生,其实还是主要是双方约定实现。
双方约定实现
1.调用方按照一定的规则加密,传输对应的参数
2.服务端按照相应的规则解密
主要实现就是通过 appKey和signKey实现,appkey用于表示不同的客户端的身份,signKey用于加密我们的传输参数,现阶段通常使用的就是RSA非对称加密算法,公钥用于解密,私钥用于加密。
token的实现方式
1.给调用方分配账号和密码
主要实现就是通过给调用方分配用户名和密码,调用方向服务端提供认证信息,服务端返回token信息给客户端,当然服务端要将用户的信息保存在redis上并设置过期时间,客户端调用时携带token信息,服务端根据携带的token信息去redis服务器中获取调用方的身份。
2.token安全问题
token会被他人劫持,可能会篡改我们的请求信息,所以我们需要配置黑白名单,可以在网关层面直接干掉非法请求