web接口服务端鉴权

  对外提供http+json接口,一般需要附带接口鉴权,往往使用的鉴权方案就是秘钥。

  秘钥是服务端告知调用方的一串字符串,像AB09Eadf之类的。它的作用是让调用方得到服务端的信任。就好比我们知道有个亲戚常来串门,那么就给他留一把钥匙,这样他随时想来玩就来,而没有钥匙的人我们是不给他进门的。

  钥匙不能落在陌生人手里,所以不能用明文在网络上传输。调用方光使用一个秘钥鉴权只能得到服务端的信任,往往还会要求提供更完整的信息:比如服务端的接口url,调用方的请求消息体,连同秘钥一起通过MD5加密后作为一个token发往服务端。

  而服务端url、调用方的请求内容和秘钥,对服务端来说都是已知的,所以它再去做一个MD5加密,就得到了另一个token。拿服务端的token跟调用方的一比,相同就是鉴权通过,反之不通过。

  如果有多个调用方,我们还可以要求他们自报家门。

  为了防止同样的请求多次发送,我们往往还要求调用方提供一个唯一的序列号,比如UUID、时间戳之类的。服务端需要再收到请求的第一时间校验该唯一序列号。

  

猜你喜欢

转载自www.cnblogs.com/wuxun1997/p/12102220.html