百趣云 百趣云的博客

🔖扫码登录协议

博主
百趣云
2周前
淘宝扫码登录为什么难淘宝的扫码登录流程本身不复杂,难在风控参数贯穿始终:umid(设备指纹)、x5sec(风控令牌)、havana(登录网关的会话体系)层层嵌套。它是"协议简单 + 风控复杂"的典型,值得单独拆解。流程拆解第一步:生成二维码GET https://qrlogin.taobao.com/qrcodelogin/generateQRCode4Login.do?...返回二维码图片地址和 lgToken(轮询凭证)。二维码内容是 https://qr.m.taobao.com/...?t=xxx 的链接。第二步:轮询状态GET https://qrlogin.taobao.com/q
博主
百趣云
2周前
小红书扫码登录的入口小红书 web 端(www.xiaohongshu.com)登录弹窗默认就是扫码。它的扫码协议特点是:全程走自家 API 网关,且每个请求都带 x-s/x-t 签名(签名逆向见前文"小红书 x-s/x-t 签名参数还原"篇)——这是和别家最大的不同,扫码协议本身不复杂,但签名是前置门槛。流程拆解第一步:生成二维码POST https://edith.xiaohongshu.com/api/sns/web/v1/login/qrcode/create Headers: x-s, x-t (签名)返回 qr_id 和二维码内容(一个 URL)。qr_id 是轮询凭证。第二步:轮
博主
百趣云
2周前
快手扫码登录的特点:双端协议分离快手 web 端(www.kuaishou.com)的扫码登录走 passport 体系,但和抖音/B站不同,快手的二维码内容不是 URL 而是自定义文本,且确认环节的风控参数更多。整体流程同构,细节有坑。流程拆解第一步:获取二维码POST https://passport.kuaishou.com/.../qrcode/generate (或 GET,以抓包为准)返回二维码内容串和 qrToken(有的版本叫 sid/token)。二维码内容形如 kuaishou://scanlogin?token=xxx——快手 App 扫码后解析这个伪协议。第二步:轮询
博主
百趣云
2周前
B站扫码登录的接口设计B站的扫码登录是各家里最规整的——接口语义清晰、无复杂加密,是理解扫码登录协议的最佳样本。核心目标:拿到 SESSDATA cookie(B站登录态的灵魂)。全流程拆解第一步:申请二维码GET https://passport.bilibili.com/x/passport-login/web/qrcode/generate返回:{ "data": url 做成二维码展示(App 扫的就是它),qrcode_key 是后续轮询的凭证。第二步:轮询扫码状态GET https://passport.bilibili.com/x/passport-log
博主
百趣云
2周前
扫码登录的本质:一场三方接力扫码登录协议的设计目标是"用已登录的 App 给无登录态的 web 端授权"。参与三方:web 端(展示二维码)、App 端(扫码确认)、服务端(状态仲裁)。整个流程是一场状态机接力:web 生成二维码(含 token) → 轮询状态 ↓ App 扫码 → 解析出 token → 带 App 登录态请求"确认登录" ↓ 服务端确认后 → web 轮询到"已确认" → 换取登录 cookie逆向的关键是搞清楚每个状态的接口和参数。抖音 web 端扫码流程实测第一步:获取二维码GET https://sso.dou