跳转到正文
图奕科技 开发文档 平台登录
接入指南 / 网云穿接入清单下载本章 Markdown ↓

本实例 Issuer https://platform.too1.net

wyc2026 实施清单

本文可以直接交给网云穿仓库的开发者或代码助手。平台仓库不替网云穿修改官网、业务 API、桌面客户端、商品、订单或权益。

本轮接入范围

可以开始官网 OIDC、服务端平台 API 适配、Webhook、映射与测试。本版已补齐桌面第一方原生认证接口,客户端可保留扫码、短信验证码、手机号密码 UI,不必打开系统浏览器。 先部署平台新包,在 OIDC 客户端中为 wyc-desktop 显式开启原生登录,再按 原生认证契约 联调。此仓库未修改 WYC 客户端,不能把平台支持等同于 WYC 已完成接入。

配置与职责

模块 网云穿实施内容
配置 固定 Issuer https://platform.too1.net、产品代码 wyc;按环境分离客户端
官网登录 登录发起、回调、state/nonce/PKCE、JWKS 验签和本地 Session
桌面 独立 Native Client;保留现有登录 UI,认证后端抽象为可替换适配层
用户映射 保留原业务用户 ID,以已验证的 sub 与迁移声明建立唯一映射
服务调用 5 分钟 Service Token 缓存、并发合并刷新、最小 Scope、超时
短信 使用平台模板代码;业务验证码仍由所属认证流程验证,不重复实现 SSO 登录
支付 服务端按业务订单定价,创建支付会话、查询、关闭和退款
事件 验签、数据库幂等、权益事务、安全事件撤销本地会话
运维 接入开关、请求编号、错误指标、旧入口回退

推荐交付顺序

第一步:只跑通测试账号官网登录

创建 wyc-web,实现 /auth/tuyi/callback,验证正确/错误 state、nonce、PKCE,授权码重放及用户取消。平台登录后在网云穿显示当前业务用户,刷新网页仍保持网云穿自己的会话。

暂时不迁移全量用户、不改原密码、不下线旧登录。断开平台后,已存在的网云穿会话按自身有效期继续使用。

第二步:映射和安全事件

准备合成的旧用户样本(含前导零 ID、同手机号多账号、已存在 SSO 用户)。用导入报告和 claims 核查老资源不丢失,验证并发首次登录、无映射时拒绝误建账号、禁用/撤销后的本地会话处理。

第三步:服务 API

创建 wyc-service;只授权实际需要的 Scope。统一封装基础 URL、Token 获取与缓存、JSON 解析、Idempotency-Key、超时和安全错误处理。请求编号关联日志,不能记录 Authorization 或包含验证码的请求正文。

外部短信 API 只用于产品授权的事务消息;用户登录验证码由平台登录流程处理。客户端不能拿服务密钥直接调发送接口。

第四步:支付与 Webhook

保留网云穿的商品和订单,金额由服务端计算。保存平台 payment_id 与原 external_order_id。通过签名事件 + 查询补偿更新订单,在一次业务事务中只发一次权益。验收重复事件、回跳伪造、金额篡改、退款并发和渠道结果未知。

没有真实支付退款闭环前,不替换已有生产支付入口。

第五步:桌面体验决策与灰度

桌面通过 Native 契约 创建登录事务、在原生界面完成扫码/短信/手机号密码验证并领取一次性授权码,最后用 PKCE 换现有 OIDC Token。旧用户名/旧密码不是平台凭据;新身份必须验证手机号、确认当前协议。客户端保留可切回旧入口的发布开关,逐阶段放量。不要爬平台 HTML、共享 Cookie 或在客户端携带 Service Client Secret。

提交验收证据

  • 测试环境和平台版本;实际登记的客户端类型及回调(不含密钥)。
  • Web OIDC 正/反例测试和产品 Session 测试结果。
  • 旧业务用户 ID ↔ 平台 sub 核查结果及冲突隔离报告。
  • 服务 Scope 越权、客户端不含 Secret 的打包扫描。
  • Webhook 重复/乱序/重启恢复与事务回滚测试。
  • 真实短信及支付退款验收记录;未具备的渠道明确关闭。
  • 桌面原生三种方式、扫码绑手机、协议更新、取消/过期、Token 校验及刷新均完成真实联调;没有客户端验收就不能声称“全部接入完成”。
  • 灰度开关和恢复旧登录/支付入口的演练记录。

阅读与调试入口

线上文档需部署对应新版二进制后才公开;在此之前可直接阅读仓库同名 Markdown 文件。