开发者接入文档
📝 1. 申请商户资格
联系 QQ: 1451606675 申请入驻,您将获得:
client_id:应用唯一标识
client_secret:应用密钥(请妥善保管,仅服务端使用)
- 配置回调地址
redirect_uri:用户授权后跳回的网址,必须与申请时完全一致(包括协议、域名、路径)
🔗 2. 引导用户授权
将用户重定向到以下URL(GET请求):
https://zjinc.cn/l/index.php?action=authorize&client_id=YOUR_CLIENT_ID&redirect_uri=YOUR_REGISTERED_REDIRECT_URI
参数说明:
client_id:您申请到的应用ID
redirect_uri:必须与注册时完全一致
用户同意授权后,平台会跳转回您的 redirect_uri 并携带一个 code 参数(例如 https://your-app.com/callback?code=xxx)。若用户拒绝,会携带 error=access_denied。
🔄 3. 换取用户信息
用上一步获得的 code 调用 API 获取用户信息(POST请求,服务端调用,不可在前端暴露 secret)。
POST https://zjinc.cn/l/api.php?action=token
Content-Type: application/x-www-form-urlencoded
client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&code=AUTHORIZATION_CODE
成功响应示例:
{
"user_id": 123,
"username": "zhangsan",
"message": "success"
}
错误响应示例:
{"error":"invalid_grant","message":"授权码无效或已过期"}
常见错误码:
invalid_request:缺少必要参数
invalid_client:client_id 或 client_secret 错误
invalid_grant:授权码无效/过期(一次性使用)
⚡ 4. 实现一键登录
获得 user_id 和 username 后,您可以在您的应用中自动创建/登录该用户,完成“一键登录”。
PHP 示例代码:
<?php
$client_id = '您的client_id';
$client_secret = '您的client_secret';
$redirect_uri = '您的回调地址';
if (isset($_GET['code'])) {
$code = $_GET['code'];
$api_url = 'https://zjinc.cn/l/api.php?action=token';
$postData = http_build_query([
'client_id' => $client_id,
'client_secret' => $client_secret,
'code' => $code
]);
$options = ['http' => ['header' => "Content-Type: application/x-www-form-urlencoded\r\n", 'method' => 'POST', 'content' => $postData]];
$context = stream_context_create($options);
$result = file_get_contents($api_url, false, $context);
$user = json_decode($result, true);
if (isset($user['user_id'])) {
$_SESSION['user'] = $user; // 记录登录状态
echo "登录成功,用户ID:".$user['user_id'];
}
}
?>
<a href="https://zjinc.cn/l/index.php?action=authorize&client_id=<?= $client_id ?>&redirect_uri=<?= urlencode($redirect_uri) ?>">一键登录</a>
cURL 示例:
curl -X POST https://zjinc.cn/l/api.php?action=token \
-d "client_id=YOUR_CLIENT_ID" \
-d "client_secret=YOUR_CLIENT_SECRET" \
-d "code=AUTHORIZATION_CODE"
📡 5. 数据是如何传输的?(OAuth2.0 原理简析)
本平台采用业界标准的 OAuth2.0 授权码模式,数据传递全程安全可控。以您的应用与指尖平台交互为例:
- 步骤A:用户点击“一键登录”,您的应用将用户重定向至指尖平台授权页,此时只传递
client_id 和 redirect_uri(不涉及敏感信息)。
- 步骤B:用户在指尖平台登录并同意授权后,指尖平台通过浏览器重定向,将一次性授权码
code 传回您的回调地址(redirect_uri)。此过程在用户浏览器完成,code 对第三方不可见。
- 步骤C:您的服务端使用
code 以及您的 client_secret 直接调用指尖平台 API(服务端对服务端),换取用户信息。该调用不经过用户浏览器,密钥永不暴露。
这种模式与微信、QQ、支付宝等主流第三方登录完全一致,既保证了用户数据安全,也防止了应用密钥泄露的风险。
安全提醒:
- 绝对不要将
client_secret 暴露在前端代码中。
- 授权码
code 只能使用一次,有效期10分钟。
- 回调地址必须使用 HTTPS(生产环境)以确保安全。
API 端点: /l/api.php?action=token | 技术支持: 指尖开放平台