API签名搞这么复杂,什么鬼?
如果你使用过阿里云的云产品的API或者API网关,你会发现API签名是件比较难以搞定的事情。为什么要搞这么复杂?
他们是怎么签名的
两种类型的API都如何签名,点击查看详细API网关签名、云产品签名(以Ecs为例)
看完签名文档,你会发现,两种API都是需要用户,使用密钥对排序后的请求全部内容(注意:是全部内容,包括请求的Method、HEADERS、URL、QueryString、BODY)计算签名串,并将签名串放入请求,供验证请求身份。还需要在请求中增加TimeStamp和Nonce内容。
为什么这样设计
搞这么复杂?是产品经理脑残么?还是有意炫耀技术高深?其实不然,每个API操作都是用户与系统的交互过程。既然是系统交互,那么就少不了身份认证,也就是系统要识别请求的来源是否合法,应该给予什么样的操作权限。所以,在API安全中的一个关键词
