平台能力

面向应用开发者的统一身份基础设施,开箱即用

单点登录 SSO
OAuth2.0 授权码简化流程,一处登录全站通行,一处退出全站下线。
统一账号中心
UCenter 作为唯一账号源,UID、用户名、密码、邮箱集中管理,不双写。
应用与凭证管理
AppID / AppSecret / 回调白名单可视化维护,支持一键重置与通信测试。
多因子安全防护
图形验证、TOTP 动态口令、登录失败锁定与 IP 策略,逐层加固。
第三方账号登录
QQ、微信、GitHub、Google 等 11 种方式可后台按需启用,自动建号绑定。
全链路审计日志
注册、登录、凭证、管理操作与 UCenter 通信全部留痕,可追溯可导出。

快速接入

四步完成对接,多数应用可在半小时内上线

1
创建应用
在控制台创建应用,获取 AppID 与 AppSecret。
2
配置回调
填写授权回调地址与白名单,防止越权回跳。
3
集成 SDK
PHP / JavaScript / Python / Go 任选,开箱即用。
4
联调上线
用一键通信测试验证链路,确认无误后发布。

开发者资源

文档、SDK 与排障工具一站式导航

SDK 示例代码

多语言 SDK 开箱即用,复制即可运行

PHP
下载 SDK 查看文档
<?php
require_once 'vendor/autoload.php';
use UIC\SDK\Client;

// 初始化客户端
$client = new Client([
    'base_url'   => 'http://127.0.0.5',
    'app_id'     => 'your_app_id',
    'app_secret' => 'your_app_secret',
]);

// 构建授权跳转 URL
$authUrl = $client->auth()->getAuthorizeUrl(
    'http://your-app.local/callback',
    bin2hex(random_bytes(16))
);

// 换取 Token(服务端回调中)
$tokens = $client->auth()->exchangeToken($_GET['ticket']);

// 获取用户信息
$user = $client->auth()->getUserInfo($tokens['token']);
echo '欢迎,' . $user['nickname'];
JavaScript
下载 SDK 查看文档
// 浏览器环境
const client = new UIC.Client({
    baseUrl: 'http://127.0.0.5',
    appId: 'your_app_id'
});

// 跳转到授权页(同步返回 URL)
const url = client.auth.getAuthorizeUrl(
    'http://your-app.local/callback'
);
window.location.href = url;

// Node.js 服务端:换取 Token
const tokens = await client.auth.exchangeTicket(req.query.ticket);
const user = await client.auth.getUserInfo(tokens.token);
console.log(user);
Python
下载 SDK 查看文档
from uic_sdk import Client

# 初始化客户端
client = Client(
    base_url='http://127.0.0.5',
    app_id='your_app_id',
    app_secret='your_app_secret'
)

# 构建授权跳转 URL
auth_url = client.auth.get_authorize_url(
    'http://your-app.local/callback'
)

# 换取 Token(服务端回调中)
tokens = client.auth.exchange_ticket(ticket)

# 获取用户信息
user = client.auth.get_user_info(token=tokens['token'])
print(f"欢迎,{user['nickname']}")
Go
下载 SDK 查看文档
package main

import (
    "fmt"
    "time"
    uicsdk "github.com/uic/sdk-go"
)

func main() {
    // 初始化客户端
    client := uicsdk.NewClient(
        "http://127.0.0.5",
        uicsdk.WithTimeout(10*time.Second),
        uicsdk.WithRetry(3, 100*time.Millisecond, 2*time.Second),
    )
    client.SetAppCredentials("your_app_id", "your_app_secret")

    // 获取授权 URL
    authURL := client.AuthorizeURL("your_app_id",
        "http://your-app.local/callback")

    // 换取 Token & 获取用户信息
    tokens, _ := client.Exchange("ticket", "", "")
    user, _ := client.Userinfo(tokens["token"].(string), "")
    fmt.Printf("欢迎,%s\n", user["nickname"])
}