雪落九曲 · 万灵归河
通行证通用 · 一站登录

妖灵社区

YAO LING COMMUNITY

一座不问来处的会馆,一方万物共生的社区。
持有通行证,便可通行于所有合作站点——
无需重复注册,无需繁琐验证,一证通行。

通 · 行 · 证 · 体 · 系
↓ 向下探索 ↓
友邻会馆 · NEIGHBOR SITE

小黑窝

罗小黑的世界 · THE WORLD OF LUO XIAOHEI

一方属于罗小黑与伙伴们的小小天地,持通行证,即可往来无阻。

进入小黑窝
ABOUT THE COMMUNITY

一座会馆,一证通行

妖灵社区是一个跨站点的统一身份认证体系。 我们致力于为所有合作站点提供便捷、安全、统一的用户认证服务。

在这里,你只需要一张通行证, 就能自由出入所有接入妖灵认证体系的合作站点—— 无需在每个站点重复注册账号,无需记忆繁多的用户名密码。

会馆服务器会在你登录时向社区服务器发起认证请求, 经验证通过后,各站点将显示"社区账号登录"标识, 确保身份真实,通行顺畅。

统一认证

一张通行证,通行所有合作站点,告别重复注册的繁琐

安全验证

服务端到服务端的票据验证流程,确保身份真实可靠

实时同步

登录状态实时同步,一次登录,处处通行

一站管理

在社区中心统一管理你的通行证信息和站点权限

TAO OF NATURE

道法 自然

TAIJI · BAGUA
太极八卦
木 火 土 金 水
☰ ☱ ☲ ☳ ☴ ☵ ☶ ☷
悬停观象
太极 阴阳相生 · 万物化育
ALMANAC
老黄历
冬月
初一
2026年8月2日
星期日
--:--
丙午年 · 乙未月 · 壬寅日
纳音 · 天河水
生肖 · 马
宜 祭祀 祈福 开光
忌 动土 破土 嫁娶
冲煞 · 冲猴煞北
吉神 · 天德
吉时 · 子卯午酉
彭祖 · 丙不修灶
节气 · 大暑
CELESTIAL MAP
天行图
朱雀 青龙 玄武 白虎
九星悬朗
北斗七星 · 指引方位
移步观星
FOUR COURTS

妖灵 社区

MAIN GATE · 壹

归河门

会馆第一道门,人间与灵域交界。木桥尽头设通行核验,初次到访者请备身份凭证。

开放 卯时至子时
当值 玄渡 · 青禾
PASS SYSTEM

通行证· 认证流程

妖灵社区通行证采用 服务端到服务端 的认证架构。
当你在合作站点点击"社区通行证登录"时,一场安全的认证交互动将在后台悄悄完成。

1

用户发起登录

在合作站点点击"社区通行证登录"按钮

2

会馆服务器请求

站点向社区服务器发送认证票据(ticket)

3

社区服务器验证

验证票据有效性,确认用户身份,签发通行证令牌

4

通行成功

站点显示"社区账号登录",用户在各站点通行无阻

申请通行证

填写信息,获得属于你的妖灵社区通行证

已有通行证?立即登录
妖灵社区 · 通行证
妖
?
用户
通行证 ID: YaoLing-00001
点击头像可上传/更换
0
累计登录
0
授权站点
Lv.1
通行等级
已接入合作站点
SETTLE IN

入驻· 共筑社区

无论你是站点主、服务器运营者,还是内容创作者——欢迎将你的入口接入妖灵社区。持通行证者,可在你的站点畅通无阻。

DEVELOPER

接入· SSO 使用说明

第三方站点可通过以下流程接入妖灵社区通行证 SSO 系统,实现一站式登录与头像同步。

一、接入流程

  1. 第三方站点引导用户跳转到妖灵社区:https://xiaoheiwo.cn/index.html
  2. 用户在妖灵社区登录通行证(已登录则跳过)
  3. 用户点击"通道直连",妖灵前端调用 POST https://xiaoheiwo.cn/api/yaoLing/verify 生成 siteToken
  4. 前端携带 yaoling_sso=siteToken 参数跳转第三方站点
  5. 第三方站点后端接收 siteToken,调用 POST https://xiaoheiwo.cn/api/yaoLing/verify/siteToken 验证获取用户信息
  6. siteToken 一次性有效(30分钟过期),验证后立即失效
头像同步:验证接口返回的 avatar 字段为通行证头像URL(如 https://xiaoheiwo.cn/api/yaoLing/avatar/:userId),可直接用于显示。

二、API 列表

加载中...

三、外部 OAuth 通道

针对无法共享 Cookie 的跨域第三方站点,提供标准 OAuth 2.0 授权码流程:

  1. 联系管理员申请 clientId 和 clientSecret
  2. 引导用户调用 POST https://xiaoheiwo.cn/api/yaoLing/oauth/authorize 获取授权码 code
  3. 后端调用 POST https://xiaoheiwo.cn/api/yaoLing/oauth/token 换取 accessToken
  4. 调用 POST https://xiaoheiwo.cn/api/yaoLing/oauth/userinfo 获取用户信息(含头像)
示例凭证(仅供测试):clientId = demo_client,clientSecret = demo_secret

四、代码示例

第三方站点:接收 siteToken 并验证(Node.js 示例):

// 1. 第三方站点登录路由:接收 yaoling_sso 参数
app.get('/auth/yaoling/callback', async (req, res) => {
  const siteToken = req.query.yaoling_sso;
  if (!siteToken) return res.redirect('/login');

  // 2. 调用妖灵通行证 verify/siteToken 接口验证
  const apiRes = await fetch(
    'https://xiaoheiwo.cn/api/yaoLing/verify/siteToken',
    {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({ siteToken })
    }
  );
  const data = await apiRes.json();
  if (data.success) {
    // data.username, data.nickname, data.avatar, data.userId
    // 在此创建本站登录会话
    req.session.user = {
      username: data.username,
      nickname: data.nickname,
      avatar: data.avatar
    };
    res.redirect('/');
  } else {
    res.send('SSO 登录失败:' + data.error);
  }
});

前端引导登录(跳转妖灵社区):

// 第三方站点:引导用户前往妖灵社区
function loginWithYaoLing() {
  window.location.href = 'https://xiaoheiwo.cn/index.html';
}

OAuth 获取用户信息(任意语言后端):

// 第3步:用 accessToken 获取用户信息
async function getUserInfo(accessToken) {
  const res = await fetch('https://xiaoheiwo.cn/api/yaoLing/oauth/userinfo', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ accessToken })
  });
  return await res.json();
  // 返回: { success: true, user: { id, username, nickname, email, avatar, ... } }
}