零、准备工作
在进行Minecraft验证之前,需要准备一些东西
- 申请的Azure软件id
- 能够网络请求的软件或编程中所需要的网络请求库
- 通过Mojang提交应用程序访问Minecraft API申请
一、获取机器码
POST/GET https://login.microsoftonline.com/consumers/oauth2/v2.0/devicecode
Headers[默认传输表单就行]
Key | Value |
---|---|
Content-Type |
application/x-www-form-urlencoded |
Body
Key | Value |
---|---|
client_id | 你所申请的Azure软件id |
scope | XboxLive.signin offline_access |
成功返回 json
1 |
|
二、获取Token
POST https://login.microsoftonline.com/consumers/oauth2/v2.0/token
Headers[默认传输表单就行]
Key | Value |
---|---|
Content-Type |
application/x-www-form-urlencoded |
Body
Key | Value |
---|---|
client_id | 你所申请的Arur软件id |
grant_type | urn:ietf:params:oauth:grant-type:device_code |
device_code | 第一步获取的device_code |
成功返回 json
1 |
|
错误返回
1 |
|
这种情况,一般就是用户没有完成微软的登录验证,一般这个请求是隔几秒请求一次,直到用户成功登录验证,如果用户完成了所需步骤,那就是传输数据出问题,或者验证超时,一般900秒超时,可以看第一步请求返回的expires_in
三、XBox身份验证
POST https://user.auth.xboxlive.com/user/authenticate
Headers
Key | Value |
---|---|
Content-Type |
application/json |
Body[Json格式]
这里的**
1 |
|
成功返回 json
1 |
|
错误返回
对,就是返回空
1 |
|
四、XSTS 身份验证
POST https://xsts.auth.xboxlive.com/xsts/authorize
Headers
Key | Value |
---|---|
Content-Type |
application/json |
Body[Json格式]
这里的**
1 |
|
成功返回 json
1 |
|
token解析错误返回
1 |
|
token为空或json格式错误返回
你没看错,就是返回空
1 |
|
五、获取MinecraftToken
POST https://api.minecraftservices.com/authentication/login_with_xbox
Headers
Key | Value |
---|---|
Content-Type |
application/json |
Body[Json格式]
这里的**
这里的**
1 |
|
成功返回 json
1 |
|
错误返回
1 |
|
六、获取MinecraftUUID
GET https://api.minecraftservices.com/minecraft/profile
Headers
这里的**
Key | Value |
---|---|
Authorization |
Bearer <minecraft_token> |
成功返回 json
1 |
|
错误或未拥有Minecraft返回
1 |
|