Mojang API之Microsoft身份认证

作者: GoodBoyboy
链接: https://blog.goodboyboy.top/posts/2111486279.html
来源: GoodBoyboy 's Blog|惬意小屋-点滴记忆
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

前言

用 C# 编写的开源 Mojang API Library 已发布至 Github,项目地址:https://github.com/GoodBoyboy666/Mojang-API

Microsoft 身份验证

由于使用正常的 OAuth 流程十分麻烦,新建的 OAuth 应用程序必须申请使用 Minecraft API 的使用权限,因此这里使用 PCL2 的登录模式进行登录。

大致步骤如下:

获取 Microsoft 授权代码(一次性)
使用授权代码获取 Microsoft 令牌
使用 Microsoft 令牌获取 Xbox Live 令牌
使用 Xbox Live 令牌获取 XSTS 令牌
使用 XSTS 令牌获取 Minecraft 令牌

获取 Microsoft 授权代码

首先我们需求拼接授权验证页面的 URL 地址:

https://login.microsoftonline.com/consumers/oauth2/v2.0/authorize?client_id= + Client_ID + &response_type=code&redirect_uri=https:%2F%2Flogin.live.com%2Foauth20_desktop.srf&response_mode=query&scope=service%3A%3Auser.auth.xboxlive.com%3A%3AMBI_SSL

这里的 Client ID 为 00000000402b5328

因此完整链接为: https://login.microsoftonline.com/consumers/oauth2/v2.0/authorize?client_id=00000000402b5328&response_type=code&redirect_uri=https:%2F%2Flogin.live.com%2Foauth20_desktop.srf&response_mode=query&scope=service%3A%3Auser.auth.xboxlive.com%3A%3AMBI_SSL

打开链接登录微软账号,完成授权后会跳转到一个空白页面,此时的页面地址应该为: https://login.live.com/oauth20_desktop.srf?code=M.C504_BL2.2.U.xxxxxxxxxxxxxxxxxxxxxx&lc=2052

而我们所需要的 Microsoft 授权代码即为 code 参数内容: M.C504_BL2.2.U.xxxxxxxxxxxxxxxxxxxxxx

该代码为一次性授权代码。

获取 Microsoft 令牌

向地址 https://login.live.com/oauth20_token.srf 发送 POST 请求,

Content-Type 为 application/x-www-form-urlencoded ,

文章作者: GoodBoyboy
文章链接: https://blog.goodboyboy.top/posts/2111486279.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 GoodBoyboy 's Blog|惬意小屋-点滴记忆!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值