Skip to main content

访问令牌

注意

访问令牌用于随后的请求,以访问受保护的资源服务器。

步骤 1:获取 Client ID 和 Client Secret

请参考 设置 了解如何获取 CLIENT_IDCLIENT_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
}
}