apikey、apisecret在api请求中的使用

场景

  • 提供的api接口需要验证使用者身份的合法性

流程

  • 由api使用者(简称用户端)向api提供者(服务端)申请一组public key/secret key
  • 用户端在调用接口请求时,携带上data、public key、salt、由data salt secret key 生成的摘要(可以使用sha1、md5等摘要算法),通过api接口发送给服务端
  • 服务端根据public key在DB中搜索到对应的secret key,使用同样的摘要算法计算摘要,对比2个摘要,可验证请求者的身份和数据的完整性

例如

  • 可以在http接口的header中设定一下字段
    • Auth-ApiKey
    • Auth-Sign
    • Auth-TimeStamp(salt)
  • Auth-Sign的生成
sign = sha1(data+secret key + salt)
  • data放入body
  • 服务端还可以根据timestamp做一些时效性控制

你可能感兴趣的:(api验证)