tesla_auth中国特斯拉用户福音:自动识别auth.tesla.cn国内认证服务器
【免费下载链接】tesla_auth
Securely generate API tokens for third-party access to your Tesla.
tesla_auth 是一款安全生成特斯拉 API Token 的开源工具,专为需要第三方应用访问自家 Tesla 车主数据而生。它通过特斯拉原生登录流程支持 MFA 多因素验证与 Captcha 人机校验,更贴心地自动识别 auth.tesla.cn 国内认证服务器——中国大陆用户无需任何手动配置,即可顺利获取 Access Token 与 Refresh Token。
为什么中国车主需要 tesla_auth?
想要用 Home Assistant、自研 App 或其他第三方服务读取你的特斯拉状态(充电、车门、胎压等),前提是先拿到特斯拉官方的 API Token。但国内车主常遇到两个坑:
- 登录入口不同:中国大陆账号走
tesla.cn体系,认证服务器是auth.tesla.cn,而海外是auth.tesla.com; - 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:最快使用步骤
- 下载并运行:从 Releases 页面下载对应平台的压缩包(支持 macOS Apple Silicon / Intel、Linux x86_64 / ARM、Windows),解压后双击或终端运行
tesla_auth; - 登录你的特斯拉账号:在弹出的网页窗口中输入邮箱密码,如需 MFA 验证码或 Captcha 验证,按页面提示完成即可(工具基于系统 WebView 渲染原生登录页,原生验证流程全支持);
- 复制 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.
相关推荐
【特别福利】Pig项目中的资源服务器Token验证机制解析
【特别福利】Pig项目中的资源服务器Token验证机制解析 引言:微服务安全的核心挑战 在现代微服务架构中,如何确保API接口的安全访问是一个关键挑战。传统的S
后端微服务API网关认证鉴权任务调度代码生成可观测性终极指南:如何用TeslaMate地理围栏功能让你的特斯拉自动识别常用地点
终极指南:如何用TeslaMate地理围栏功能让你的特斯拉自动识别常用地点 TeslaMate是一款开源的特斯拉数据记录工具,它不仅能帮助车主跟踪车辆数据,还提
后端数据分析数据可视化镜像拉取提速10倍:DaoCloud国内加速服务全攻略
镜像拉取提速10倍:DaoCloud国内加速服务全攻略 你还在为国外镜像拉取超时发愁?Docker构建频繁失败?Kubernetes集群部署卡在ImagePul
镜像仓库云原生
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考