使用Microsoft账户登入Minecraft的流程 和 代码实现(c#)

您所在的位置:网站首页 我的世界黑卡原理 使用Microsoft账户登入Minecraft的流程 和 代码实现(c#)

使用Microsoft账户登入Minecraft的流程 和 代码实现(c#)

2023-10-26 06:35| 来源: 网络整理| 查看: 265

目录 感谢了解MS登入MC大致流程1.浏览器用户登入获取Code2.获取OAuth Access Token3.获取XBL Token4.获取XSTS Token以及Userhash5.获取MC Access Token6.获取MC Profile 二次登入本地保存的参数 refresh_token来自何方如何使用 首次登入 使用c#实现登入使用c#实现自动登入并启动游戏

感谢 PCL2 启动器(因为没有实操就抓包学习PCL2了) 龙腾猫跃(呜呜呜是大佬)的爱发电地址ProjBobcat 启动核心ModuleLauncher.Re 启动核心BMCLAPI(永远的神!!!) 了解MS登入MC

你可以直接在wiki.vg看,就是不会有本文这么傻瓜 https://wiki.vg/Microsoft_Authentication_Scheme

大致流程

一步到胃

1.浏览器用户登入获取Code

这一步是首次登入必须,否则你无法获取第一个refresh_token

2.获取OAuth Access Token

https://login.live.com/oauth20_token.srf

3.获取XBL Token

https://user.auth.xboxlive.com/user/authenticate

4.获取XSTS Token以及Userhash

https://xsts.auth.xboxlive.com/xsts/authorize

5.获取MC Access Token

https://api.minecraftservices.com/authentication/login_with_xbox

获取用于启动的Access Token

6.获取MC Profile

获取用于启动的UUID

二次登入 本地保存的参数 refresh_token 来自何方

由OAuth Access Token步骤中获取

如何使用 POST https://login.live.com/oauth20_token.srf

Request

Content-Type: application/x-www-form-urlencoded client_id 00000000402b5328 refresh_token grant_type refresh_token redirect_uri https://login.live.com/oauth20_desktop.srf scope service::user.auth.xboxlive.com::MBI_SSL

Response

{ "token_type": "bearer", "expires_in": 86400, "scope": "service::user.auth.xboxlive.com::MBI_SSL", "access_token": "", "refresh_token": "", "user_id": "", "foci": "1" }

这个新的refresh_token需要保存起来,每次我们实现自动登入需要提交保存的refresh_token然后得到新的xbl_token 和 refresh_token

首次登入

需要步骤1

使用c#实现登入

已经做了个类库了

https://github.com/heerheer/HeerDev.MLRExtension

Nuget包( (是.net5的,所以低版本要用可以自己copy代码(

使用c#实现自动登入并启动游戏

你还是可以使用启动模块,不过记得自己存refresh_token 如上



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3