设计原则:接口无状态(幂等),兼容各个客户端(app-ios/app-android/mweb/小程序等等)
Api 接口鉴权规范-1.0-md5签名
Api 登录,采用Auth鉴权方式验证API请求合法性,即所有API Http Header请求需包含以下公共参数:
1. Epay-Auth-User-Id 用户Id
2. Epay-Auth-Timestamp 请求时客户端时间错,以此设置过期时间
3. Epay-Auth-Type 授权类型(AUTH_BASE[无需登录]/AUTH_USER)
4. Epay-Auth-Sign 客户端根据签名规则生成的加密串
5. appSecret(该字段不在Http header 传输,由客户端和服端约定好,版本一旦发布,不可更换)Api交互的通讯密钥,比如:“AWRDuwh!@!#!asd” 区分大小写
签名规则:
AUTH_BASE
MD5(SECRET_KEY + timestamp + userId + getToken(Long.parseLong(userId)))
AUTH_USER
MD5(SECRET_KEY + timestamp)
Api 接口鉴权规范-2.0-jwt-token
Api 登录,采用Auth鉴权方式验证API请求合法性,即所有API Http Header请求需包含以下公共参数:
1. Epay-Auth-User-Id 用户Id
2. Epay-Auth-Timestamp 请求时客户端时间错,以此设置过期时间
3. Epay-Auth-Type 授权类型(AUTH_BASE[无需登录]/AUTH_USER)
4. Epay-Auth-Token 客户端根据签名规则生成的加密串
5. 登录成功之后服务端会返回token(jwt-token),AUTH_USER 所有请求都带着该token
6. 其他参数channel(ios/android...)/sys-version/sys-model/geo/deviceid/area