使用Python对接Minecraft认证时遇‘Invalid app registration’错误求助
解决Minecraft微软认证API的Invalid App Registration错误
错误核心原因
你碰到的Invalid app registration错误,本质是当前使用的Azure应用注册不符合Minecraft API的要求——必须注册支持个人微软账户登录的多租户应用,才能正常调用Minecraft的认证接口。
1. 注册合规的Azure AD应用
按以下步骤操作即可:
- 登录Azure门户,进入「应用注册」页面,点击「新注册」
- 填写应用名称(比如
Minecraft Chat Sync Bot) - 支持的账户类型必须选「任何组织目录(任何Azure AD目录 - 多租户)和个人Microsoft账户(例如Skype、Xbox)」——这是关键,Minecraft玩家用的都是个人微软账户,选其他类型会被API直接拒绝
- 重定向URI选「公共客户端/本机(移动和桌面)」,填入
http://localhost即可(后续认证流程会用到这个地址) - 注册完成后,复制页面上的应用程序(客户端)ID(也就是你要的Application ID),租户ID这里会显示为
common,直接用这个值就行
2. 关键字段解释
- Application ID:是你注册的应用的唯一标识,Minecraft API通过它验证请求的合法性,调用接口时必须传入这个值
- Tenant ID:这里的
common表示你的应用允许所有微软账户(个人+企业)登录,刚好匹配Minecraft玩家的个人账户场景。如果选单租户ID,就只能让特定企业组织的用户登录,完全不符合需求
3. User-Agent参数的作用
User-Agent是HTTP请求的标识字段,用来告诉API发起请求的客户端类型(比如浏览器、第三方应用、脚本)。Minecraft API会校验这个字段,空值或不规范的User-Agent会被拒绝。
如果你用minecraft_launcher_lib,库会自动设置合规的User-Agent;如果手动发请求,建议设置成类似你的应用名称/版本(比如MinecraftChatSync/1.0),不要用默认的脚本标识(比如Python Requests/2.31.0)
4. 调用API时的请求头设置
注册好应用后,调用https://api.minecraftservices.com/authentication/login_with_xbox接口时,请求头需要包含:
Content-Type: application/json:声明请求体为JSON格式User-Agent: 你的应用名称/版本(比如MinecraftChatSync/1.0)- 同时,请求体里必须带上你注册的
client_id(Application ID),以及从Xbox Live获取的XSTS令牌,缺一不可
内容的提问来源于stack exchange,提问作者Oliver
相关产品推荐
相关产品推荐

