壹证通

平台接入指南

任何平台接入 壹证通 后,其用户即可一号通行全平台

一、接入流程(管理员操作)

步骤说明
1管理员在 后台 → 应用管理 添加平台,获得 app_id 与 app_key(key 请妥善保管,仅平台服务端使用)
2平台按下方方式对接 注册/登录 API 或 SSO 跳转(推荐两者都接)
3平台将 SSO 入口 挂到自己的「登录」按钮上,即完成打通

二、SSO 一键登录(推荐,体验最好)

平台「登录」按钮指向:

https://uc.3707.wang/sso.php?app_id=你的app_id&back=urlencode(你的回跳地址)

中心确认身份后回跳:back?ticket=...&uid=...&ts=...&sign=...。平台服务端可直接用本地算法校验 sign,也可回中心换令牌:

// 回调签名算法(无需再请求中心):
sign = sha256( app_key + "|" + ticket + "|" + uid + "|" + ts )
// 或服务端核验票据(一次性,同时获得 7 天有效 token):
POST https://uc.3707.wang/api.php
{"action":"ticket.verify","app_id":"...","ts":1710000000,"sign":"...","ticket":"..."}

安全要求:回跳地址必须 https,且在后台为该平台配置的「回跳白名单」前缀内。

三、开放 API(平台服务端调用)

接口地址 POST https://uc.3707.wang/api.php(JSON)。签名算法:

data = 请求字段去掉 action/ts/sign,按 key 排序(ksort)
sign = sha256( app_id + "|" + app_key + "|" + ts + "|" + md5(json_encode(data, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES)) )
action参数说明
user.registerusername, password, email?, phone?, nickname?注册并绑定该平台;用户名已存在返回 user_exists
user.loginusername, password登录校验,通过自动绑定该平台并返回 token
ticket.verifyticketSSO 票据核验(一次性),返回用户信息 + token
token.verifytoken校验 7 天令牌,返回用户信息
user.infouid / username / token查用户资料(限已绑定本平台的用户)
user.changepwdusername, old_password, new_password改密,全平台同步生效
syn.logouttoken销毁平台令牌(同步登出)
/synlogin.phpapp_id, uid, ts, sign=sha256(app_key|uid|ts)同步登录广播(GET):平台密码登录成功后嵌入脚本,写入中心免登 Cookie,其它平台 SSO 免密通行。SDK:echo uc_synlogin_script($uid);
app.ping—连通性检测

返回统一为 {"ok":true,...} 或 {"ok":false,"error":"原因","code":"错误码"}。时间戳 ts 与服务器相差不得超过 300 秒。

四、PHP 平台快速接入(SDK)

下载 SDK:/sdk/uc_client.php.txt(另存为 uc_client.php 放入你的平台),三行完成打通:

require 'uc_client.php';
uc_init('https://uc.3707.wang', '你的app_id', '你的app_key');
// 平台登录按钮:
<a href="<?= uc_sso_url('https://你的平台/sso.php') ?>">登录</a>
// 回跳页(sso.php)开头处理票据 → 建立本地会话:
if (uc_handle_sso($uid, $username)) { $_SESSION['uid']=$uid; header('Location: /'); exit; }
// 平台内注册(可选,走中心统一建档):
$r = uc_register($_POST['username'], $_POST['password']);

五、其它语言平台

按「三」中的签名算法实现即可(Java / Python / Node / Go 均可),核心只有一次 HTTPS POST。接入咨询请联系 壹证通 管理员。