总言:一般只要是 2端(调用方和被调用方)分离的 ,无论是后端对后端 还是前端对后端 或者终端对后端 正常的接口都需要有个鉴权,数据加解的过程
1.身份标识符
1.1.token方式鉴权 token作为身份标识符,
备注:一般程序会有登陆模块,或者身份认证模块 ,调用认证接口 接口提供方 向 调用方下发token 作为身份标识符,后续需要鉴权接口带上token,以此为凭证依据;token 有一定的生命周期(有效期) ,和具体的或者独有的生成规则( token 生成有独立的规则 可以带上特殊因子),凭证有效期的处理: 处理方式有 主动续期 或者被动 续期 或者限制 使用次数
- 被动 续期 :调用方在调用接口时候, 接口自动延长使用时间 例如: 10点30分调用接口,token有效期会自动后延续30分钟
- 主动 续期 :接口提供方不自动处理凭证(token)续期,比如请求登陆接口时 接口下发的token 会限制有效期 或者 将有效期 连带一起下发;调用方拿到token 和 有效期 ,然后 根据时间,在有效期内 调用提供的续期接口 ,接口提供方通过续期接口 如果续期接口产生的token发生变化事(续期下发的新token 可以 与之前 token一致也可以不一致),后端需要做兼 处理,保证新旧token在特定时间内同时有效。(如果程序设置了加密证书,当加密证书有更新时,同理需要提供更新接口,保证新旧并存时间)
- 使用次数 :一般特殊接口 凭证只需要用到少量的次数或者只是单次使用,可以进行标识使用次数控制。
1.2 固定id (key) 或者openid标识符 作为身份标识符号
备注:固定标识比较长见 ,比如接口提供方为所有需要的调用方 每一个分配一个独立的 标识符号和 一个加密串
接口提供方以特殊的方式将加密串提供给调用方; 例如 商定的key 为123,请求方将 请求的参数 进行特殊 组合之后与key进行混合 产生 sign ,接口提供方根据sign鉴权(比如 将请求参数 拼接成字符串 加个key MD5 或者sha1等 产生sign值接口提供方用同样方式进行sign比对是否一致)
2.数据的加密
2.1key 或 证书
一般会用到 类似 sha1 sha256 MD5 base64 aes rsa rsa256 等
- 例子1:分配独有的key 用设置的规则产生sign值进行校验
- 例子2:分配独有的key 用特定的方式对数据进行aes加密 保证请求的数据 除部分公开数据外返回的全部都是秘文或者二进制数据,常用的方式是采用 pkcs 的规则 或者特殊的固定计算
- 例子3: 产生公钥私钥 采用rsa 方式进行处理
2.2 证书的类型
一般常见的证书格式有 ca证书 pfx ,cer ,pem等。一般openssl各种格式都可以相互转换,
另外各个开发语言之间用到的格式可能会有差异
原文地址:https://www.cnblogs.com/huatuoxie/p/9822953.html