tesla_auth中国特斯拉用户福音:自动识别auth.tesla.cn国内认证服务器

发布时间:2026/11/6 1:41:38
tesla_auth中国特斯拉用户福音:自动识别auth.tesla.cn国内认证服务器

【免费下载链接】tesla_auth

Securely generate API tokens for third-party access to your Tesla.

项目地址:https://gitcode.com/gh_mirrors/te/tesla_auth
点击查看免费下载

tesla_auth 是一款安全生成特斯拉 API Token 的开源工具,专为需要第三方应用访问自家 Tesla 车主数据而生。它通过特斯拉原生登录流程支持 MFA 多因素验证与 Captcha 人机校验,更贴心地自动识别 auth.tesla.cn 国内认证服务器——中国大陆用户无需任何手动配置,即可顺利获取 Access Token 与 Refresh Token。

为什么中国车主需要 tesla_auth?

想要用 Home Assistant、自研 App 或其他第三方服务读取你的特斯拉状态(充电、车门、胎压等),前提是先拿到特斯拉官方的 API Token。但国内车主常遇到两个坑:

  1. 登录入口不同:中国大陆账号走tesla.cn体系,认证服务器是auth.tesla.cn,而海外是auth.tesla.com;
  2. Token 接口不同:登录授权只是第一步,换取 Token 时必须回到同一个认证域名的 token 接口,域名用错就会直接失败。

很多手写脚本或老旧工具只硬编码了海外接口,导致国内用户"登录成功却换不到 Token"。tesla_auth 从 0.4.0 版本起就加入了中国认证服务器支持(见 CHANGELOG.md),让这个问题彻底成为历史。

自动识别 auth.tesla.cn 是怎么做到的?

tesla_auth 的核心思路是:不猜你在哪个地区,而是让服务器"自报家门"。

原理拆解:跟随 issuer 域名切换

整个流程分三步:

  • 发起授权:工具内置统一入口https://auth.tesla.com/oauth2/v3/authorize,并携带openid、email、offline_access三个 scope,发起标准的 OAuth2 + PKCE 流程(src/auth.rs、src/auth.rs);
  • 跟随重定向:中国账号登录后,服务器会将页面重定向到国内体系,最终回调tesla://auth/callback,回调地址上会带回一个关键参数issuer,标明本次登录到底由哪个认证服务器签发(src/main.rs);
  • 按域名选接口:工具解析issuer的主机名,一旦发现是auth.tesla.cn,就自动切换到国内 token 接口换取 Token,否则使用海外接口,关键逻辑仅一行判断:
match issuer.host() { Some(Host::Domain("auth.tesla.cn")) => self.oauth_client_cn, _global => self.oauth_client, }

对应源码在 src/auth.rs,两个接口地址的定义在 src/auth.rs:

环境Token 接口
海外https://auth.tesla.com/oauth2/v3/token
中国大陆https://auth.tesla.cn/oauth2/v3/token

也就是说:你登录哪个账号,它就走哪条通道,一个工具同时服务海内外用户,切换完全无感。

三步拿到 Token:最快使用步骤

  1. 下载并运行:从 Releases 页面下载对应平台的压缩包(支持 macOS Apple Silicon / Intel、Linux x86_64 / ARM、Windows),解压后双击或终端运行tesla_auth;
  2. 登录你的特斯拉账号:在弹出的网页窗口中输入邮箱密码,如需 MFA 验证码或 Captcha 验证,按页面提示完成即可(工具基于系统 WebView 渲染原生登录页,原生验证流程全支持);
  3. 复制 Token:登录成功后,最终窗口会展示 Access Token、Refresh Token 及有效期,点击即可全选复制(Token 渲染逻辑见 src/main.rs)。

Linux 用户需先安装 WebKitGTK 依赖,以 Ubuntu 为例:

sudo apt install libwebkit2gtk-4.1-dev libxdo-dev

各发行版的具体包名见 README.md。

安全设计:Token 只留在本地

对新手来说,工具"安全不安全"比"好不好用"更值得关注。tesla_auth 在这方面做得比较扎实:

  • PKCE 加固:采用PKCECodeChallenge::new_random_sha256生成随机质数校验(src/auth.rs),防止授权码被截获;
  • CSRF state 校验:回调时必须携带与发起时一致的 state,否则直接报错CSRF state does not match!(src/auth.rs);
  • Token 不上传:整个换 Token 过程由本地二进制直接完成,凭据和 Token 均不出本机;
  • 可选清理浏览数据:启动时加-c参数可清除 WebView 缓存,适合在公共设备上使用(参数定义见 src/main.rs)。

常见问题 FAQ

Q:海外账号会被误判为国内吗?不会。识别依据是回调里的issuer域名,与账号归属一致,判断代码见 src/auth.rs。

Q:Token 有效期是多久?窗口会直接展示有效期(例如 "1 day 1 minute",格式由 src/htime.rs 生成)。拿到 Refresh Token 后,可在你的第三方应用中做自动续期。

Q:支持哪些操作系统?macOS(原生 WebKit,零依赖)、Windows 7/8/10/11(基于 Edge 的 WebView2)、Linux(需 WebKitGTK)。

写在最后

对于国内特斯拉车主,tesla_auth 把"认证服务器地区差异"这件最容易劝退的脏活彻底封装掉了:登录、MFA、域名识别、Token 换取一气呵成,三步拿走密钥。项目采用 MIT 协议,用 Rust 编写(依赖清单见 Cargo.toml),体积小巧、跨平台一致。如果你正打算给特斯拉接入第三方生态,不妨先把它跑一遍,体验一下"无感"切换认证服务器的顺畅。

【免费下载链接】tesla_auth

Securely generate API tokens for third-party access to your Tesla.

项目地址:https://gitcode.com/gh_mirrors/te/tesla_auth
点击查看免费下载

相关推荐

上一篇:Kula Web仪表盘使用教程:实时图表、历史缩放、Min-Max区间与Focus/TV模式全解
下一篇:给 AI Skill 先做体检再安装:yao-open-skills Doctor Skill 安全审计完全指南

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考