ApiKey-design
在为第三方系统提供接口的时候,肯定要考虑接口数据的安全问题,比如数据是否被篡改,数据是否已经过时,数据是否可以重复提交等问题。
在设计三方接口调用的方案时,需要考虑到安全性和可用性。以下是一种设计方案的概述,其中包括使用API密钥(Access Key/Secret Key)进行身份验证和设置回调地址。
设计方案概述
1. API密钥生成: 为每个三方应用生成唯一的API密钥对(AK/SK),其中AK用于标识应用,SK用于进行签名和加密。
AK:
Access Key Id,用于 标示用户。 SK:Secret Access Key,是用户用于加密认证字符串和用来验证认证字符串的密钥,其中SK必须保密。 通过使用Access Key Id/Secret Access Key加密的方法来验证某个请求的发送者身份。
2. 接口鉴权: 在进行接口调用时,客户端需要使用AK和请求参数生成签名,并将其放入请求头或参数中以进行身份验证。
淘宝签名和验签: 淘宝SDK签名算法 (yuque.com)
3. 回调地址设置: 三方应用提供回调地址,用于接收异步通知和回调结果。
4. 接口API设计: 设计接口的URL、HTTP方法、请求参数、响应格式等细节。
权限划分
appID:应用的唯一标识
用来标识你的开发者账号的,即:用户id,可以在数据库添加索引,方便快速查找,同一个 appId 可以对应多个 appKey+appSecret,达到权限的
appKey:公匙(相当于账号)
公开的,调用服务所需要的密钥。是用户的身份认证标识,用于调用平台可用服务.,可以简单理解成是账号。