找回密码
 立即注册

微信扫码登录

搜索
查看: 68|回复: 2

[插件集成] 红米/小米手机坐标GPS集成插件 已进入「必须重构」阶段的说明

[复制链接]

54

主题

381

回帖

3192

积分

论坛元老

积分
3192
金钱
2757
HASS币
10
发表于 昨天 19:24 | 显示全部楼层 |阅读模式
本帖最后由 MagicStarTrace 于 2026-1-29 19:34 编辑

红米/小米手机坐标GPS集成插件 已进入「必须重构」阶段的说明

插件历史版本传送门

https://bbs.hassbian.com/thread-29351-1-1.html

最近在调试 / 修复 xiaomi_cloud 自定义集成过程中确认:

当前版本基于:
serviceLoginAuth2 → STS → serviceToken
的纯 HTTP 自动化登录方式,已因小米云风控模型升级而整体失效

当前插件失败的真实原因

现有插件登录流程:

  1. GET https://i.mi.com/find 获取 _sign
  2. POST https://account.xiaomi.com/pass/serviceLoginAuth2
  3. 从 JSON 提取 ssecurity + nonce + location
  4. 请求 [url=https://i.mi.com/sts?...]https://i.mi.com/sts?...`[/url]
  5. 期望 Set-Cookie: serviceToken

实际行为:

  • serviceLoginAuth2 返回 code=0
  • 可拿到 ssecurity / nonce / location
  • 但已不再返回 passToken / userId
  • STS 永远 401
  • 即使手工补 userId cookie 仍失败

结论:

小米已将该入口降级为「半登录态」

即:

  • 看似登录成功
  • 但不会发放完整 session
  • STS 被强制拦截

这是服务器侧风控决策,不是客户端实现问题

插件为何不行?

  • 无浏览器指纹
  • 无行为上下文
  • deviceId 每次变化
  • 高频重试

行为被系统被判定为自动化行为

补充:

  • 从浏览器导出的HAR中拿不到serviceToken(HTTP-only)
  • JS 无法读取
  • token只能由真实浏览器生成

继续 patch 现有插件已无工程意义

已尝试:

  • clientSign 补齐
  • userId / cUserId 注入
  • cookie 手动写入
  • followup 修正
  • headers / UA 模拟

全部失败,原因:

serviceToken 已进入浏览器信任域
STS 只接受 browser session

继续修补请求参数无法解决。


重构方向

后续将调整为:

Playwright + 后端 Token Service + HA 插件

结构:[ Playwright 浏览器服务 ] → REST API → Home Assistant

  • Playwright 维持真实登录态
  • 自动刷新 serviceToken
  • HA 插件只负责调用 API 获取坐标

这是目前能想到可尝试的长期使用方案[会基于该方向重构,后续会发布新的插件]
当然如有人已有实现了browser-token bridge 或者有其他方式,欢迎交流





评分

参与人数 1金钱 +12 收起 理由
隔壁的王叔叔 + 12 感谢楼主分享!

查看全部评分

回复

使用道具 举报

1

主题

51

回帖

1229

积分

金牌会员

积分
1229
金钱
1177
HASS币
0
发表于 昨天 20:04 | 显示全部楼层
难怪最近老是登录失效
回复

使用道具 举报

14

主题

1704

回帖

5795

积分

论坛元老

积分
5795
金钱
4077
HASS币
0
发表于 2 小时前 | 显示全部楼层
顶起来,顶起来
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian ( 晋ICP备17001384号-1 )

GMT+8, 2026-1-30 03:00 , Processed in 0.142067 second(s), 11 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表