Hex-Dragon / PCL2

Plain Craft Launcher(我的世界启动器 PCL)的源代码,为支持社区研究而公开。
https://afdian.com/a/LTCat
Other
2.71k stars 202 forks source link

[新功能] LittleSkin OAuth 登录支持 #5132

Open wuliaodexiaoluo opened 1 week ago

wuliaodexiaoluo commented 1 week ago

Close #4941 (关联投票 #4948)

之前的 PR 由于推送时操作不当炸了 现在重开一个,但是可能有点问题.....

目前已知的 Bug

完成登录后会错误的进行刷新登录 但是我不知道为什么,也没法修,只能麻烦大家看看了....

~登录完成后可能因为刷新登录失败反复要求进行原始登录~ 此问题已做缓解性修复,应该不会那么频繁了

~提交内包含旧版本代码~ 相关部分代码已同步主仓 ~(手动 Merge)~

~会打印登录信息的代码等我回来再删~ 已删除

以下是计划制作但最终移除的部分

在服务器返回错误时显示 X-Yggdralt-Req-ID

由于 NetRequestOnce 历史遗留的问题,无法通过简单的逻辑微调实现,逻辑部分已在提交前回滚 ~(用户和皮肤站管理员体验-1)~

注意事项

申请权限需要(均为必选项)

offline_access openid Yggdrasil.PlayerProfiles.Select Yggdrasil.MinecraftToken.Create

需要在申请邮件里备注用于正式环境

wuliaodexiaoluo commented 1 week ago

成品效果

https://pan.huang1111.cn/s/A6K18sB

wuliaodexiaoluo commented 1 week ago

应该是没有啥是我要做的了(((

tnqzh123 commented 1 week ago

申请权限需要(均为必选项)

User.Read offline_access openid Yggdrasil.PlayerProfiles.Select Yggdrasil.MinecraftToken.Create

如果只是获取 Minecraft Token,不需要 User.Read。申请权限时应遵循最小化原则。

角色信息已经包含在 ID Token 中,而且 User.Read 也拿不到角色信息。

wuliaodexiaoluo commented 1 week ago

如果只是获取 Minecraft Token,不需要 User.Read。申请权限时应遵循最小化原则。

角色信息已经包含在 ID Token 中,而且 User.Read 也拿不到角色信息。

源代码和正文已移除 User.Read 权限要求 (感谢指正)