面向应用开发者的统一身份基础设施,开箱即用
四步完成对接,多数应用可在半小时内上线
文档、SDK 与排障工具一站式导航
多语言 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'];
// 浏览器环境
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);
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']}")
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"])
}