API的身份认证

API设计中最开始的步骤就是设计鉴权,当前这篇介绍的认证只是鉴权一部分,当然在一个权限设计不完备的系统里,这就是鉴权的全部。

HTTP(不包涵Websocket)是无状态的,所以获得认证的客户端(用户)每次发起请求,都必须携带服务端签发的Token、SessionID等信息。当然这个信息可能不是服务端签发的,比如Basic Auth就是请求携带username+password。从token携带方式上有使用http请求参数的,有使用Cookie方式,还有放到请求body中的。下文我们将分析一下各种认证方式,以及推荐的使用场景。

阅读更多