访问令牌
访问令牌用于随后的请求,以访问受保护的资源服务器。
步骤 1:获取 Client ID 和 Client Secret
请参考 设置 了解如何获取 CLIENT_ID 与 CLIENT_SECRET
| 参数 | 类型 | 必填 | 描述 | 示例 |
|---|---|---|---|---|
CLIENT_ID |
字符串 | 是 | 从 https://merchant.superpay.club 获取的 Client ID 或 AppID。 | 10020 |
CLIENT_SECRET |
字符串 | 是 | 从 https://merchant.superpay.club 获取的 Client Secret 或 AppSecret。 | F0NfID1ftdGdu27ybGMfT3vqqCMM9gwO |
步骤 2:将步骤 1 的参数以 Base64 格式编码
格式:CLIENT_ID:CLIENT_SECRET
示例:
Base64 编码前:
10020:F0NfID1ftdGdu27ybGMfT3vqqCMM9gwO
Base64 编码后:
MTAwMjA6RjBOZklEMWZ0ZEdkdTI3eWJHTWZUM3ZxcUNNTTlnd08=
步骤 3:使用 SERVER PUBLIC KEY 加密结果
接着,使用 SERVER_PUB_KEY 对上一步的结果进行非对称加密。
SERVER_PUB_KEY="-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApkgv8hWMIReydv2wkA7z
0cy8SLCCDN+Rnz1G50QMPF+THkRdvks5F9FBMzpJWVHpnxmj7TDUEWAc1xJDcr3b
qkqId1cdgNeQ5KYDnER+UsVvQOkWPh3P+kDc9wvDIR6XKqeZnhtWvsYtI1cbivs/
bTqV18iIhEE0zHLkWL7aMO/n4KcMyu0gjqnC1RdhCGRPw1iUFvoX4EIrcnhZQUe3
KbA9Ko15EgwGLIC36KuB6iYWWnck9mRi2sWVXK3ve8rRANCWq7zQ2lxj5bSUb1I9
2eA4/GJQubNU0ShA8Y36/MEpep5q+YNHSEe0b9L4ObP5kI7RxLAXf2+oRkSpnXmJ
9QIDAQAB
-----END PUBLIC KEY-----"
然后您将获得类似如下的加密数据
0ef5e6fa91589dd1da1f2e23bb878e7a99dd67db392e61189af50f2da6dbca7698faa7421af9558b3b183c84912f931c0eb5dd52a17ba9339c9926142bfeeebb5579428f1220b30578873b1d91fb9d33963c7608bea53d9c8fd9fa1160d845ba33aabae183ea2ec97a15ecafe224133012e77783ef38e1ae5b3f1cd2709775d11d97bfd65ea029d00b821853ec8c319ddcebda9597aba08da7b8fe6bcca40da0b0c55fa75bd07f22702d5a78774e72a316379740bad92d896d979d5b5c2145c045d44d68e2ad901d961ac791b7ad70546c56fb8ec9f2c4af59fd7f4ee44be65f54dc57c063d8990ad1ea098adcfb5e043482875681ff8efd5fa5ea0e09b5921b
步骤 4:POST 到 /gateway/v1/createToken 端点
方法: POST
端点: https://api.superpay.club/gateway/v1/createToken请求
请求头
| 参数 | 类型 | 值 |
|---|---|---|
content-type |
字符串 | application/json |
请求体
| 参数 | 类型 | 描述 | 示例 |
|---|---|---|---|
data |
字符串 | 使用 SERVER PUBLIC KEY 加密的数据 | 0ef5e6fa91589dd1da1f2e23bb......a5ea0e09b5921b |
响应
请求体
| 参数 | 类型 | 描述 | 示例 |
|---|---|---|---|
code |
字符串 | API 的状态码 | 200 |
encryptedToken |
字符串 | 需使用 CLIENT_SYMMETRIC_KEY 解密的加密 Token | a83cf72884cbbb....3ddf0744646e0cf0b482 |
message |
字符串 | 此请求的信息明文 | 成功 |
响应示例
{
"code": 200,
"encryptedToken": "a83cf72884cbbb341bdc6bcf46092752d48dba47658687432a1a103937a98976bcd85a89353ac704669311780f9f8caf75eea561af067b981401f05d5f5a97c058d7f793a7c3865fbeb3fdee31ecd2a6510b79f5a0e012a757862ee510fb6f2979ffd4e70eb0446ea27780cfdd1803e665f5604f995f07671319ee292799183f4d891a617a410c78e10b3e945d71e955046be62ad4d33ddf0744646e0cf0b482",
"message": "Success",
}
步骤 5:使用 CLIENT_SYMMETRIC_KEY 解密 encryptedData
使用对称方式解密 encryptedData
a83cf72884cbbb341bdc6bcf46092752d48dba47658687432a1a103937a98976bcd85a89353ac704669311780f9f8caf75eea561af067b981401f05d5f5a97c058d7f793a7c3865fbeb3fdee31ecd2a6510b79f5a0e012a757862ee510fb6f2979ffd4e70eb0446ea27780cfdd1803e665f5604f995f07671319ee292799183f4d891a617a410c78e10b3e945d71e955046be62ad4d33ddf0744646e0cf0b482
使用 CLIENT_SYMMETRIC_KEY
PCd1dlEmFnBXaVce06Pzp7Vike0oHnVJ,
然后您将得到如下结果
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcHBJZCI6IjEwMDIwIiwiaWF0IjoxNjY3MDU2ODkyLCJleHAiOjE2NjczMTYwOTJ9.UnVBt6Opxd_ZOMns1gCT40Ihdj1nbndi2V43Xt3fIuE
步骤 6:将 Token 放入 Authorization 请求头中用于后续请求
{
headers: {
Authorization: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcHBJZCI6IjEwMDIwIiwiaWF0IjoxNjY3MDU2ODkyLCJleHAiOjE2NjczMTYwOTJ9.UnVBt6Opxd_ZOMns1gCT40Ihdj1nbndi2V43Xt3fIuE",
... //The Rest of the headers
}
}