Rest API的认证模式
Rest API的认证模式
微服务系统中,很多团队采用了API驱动设计开发,服务之间的调用都通过API来实现的。为了统一管理API,一般都会在前面部署一个API Gateway,然后由API Gateway对API的调用者进行权限认证。 常见的认证方式有下面几种:
- AppKey
- AppKey + Secret
- JWT
- OAuth
下面我们逐一来介绍这些App的认证方式,以及对应的使用场景.
AppKey
AppKey 是比较悠久,也是比较简单但是蛮有效的一种方式方法。当Application申请访问API后,API Gateway会为这个Application生成一个AppKey,一般是UUID等随机无意义的字符串。当Application调用API的时候,需要在Http Header或者是Query里面带上这个AppKey, 然后API Gateway进行校验,验证无误后方可访问到具体的API。 比如
GET http://api.example.com/users?AppKey=1234567890abcdef
或者是在header里面:
GET http://api.example.com/users
x-app-key=1234567890abcdef
不建议放在Query里面,这样很容易就被爆出来,因为即使是HTTPS连接,