yushijinhun / authlib-injector

Build your own Minecraft authentication system.
https://authlib-injector.yushi.moe
GNU Affero General Public License v3.0
744 stars 67 forks source link

[Feature Request] Microsoft Authentification #109

Closed phil2sat closed 3 years ago

phil2sat commented 3 years ago

Since Mojang Accouts should be Migritated to Microsoft until middle of 2021, it would be nice if authlib-injector could passtrough Microsoft login like Mojang-Login.

On Server i get this Output if Microsoft-Client tries to Connect: com.mojang.authlib.GameProfile@73cb78bf[id=<null>,name=Unisys303,properties={},legacy=false] (/192.168.1.30:50765) lost connection: Disconnected

Same Client works without Authlib-Injector (Client is using HMCL 3.3.181)

Maybe this Helps: https://zhuanlan.zhihu.com/p/344830045 https://github.com/huanghongxun/HMCL/commit/dd4683e693caf6f5da5e62e14c75c1152daf2445

yushijinhun commented 3 years ago

Since Mojang Accouts should be Migritated to Microsoft until middle of 2021, it would be nice if authlib-injector could passtrough Microsoft login like Mojang-Login.

The migration from Yggdrasil to Microsoft OAuth does not affect authlib-injector quite much. authlib-injector aims to provide the ability to build a customized Minecraft authentication system, and we just reuse the Yggdrasil authentication scheme for both simplicity and flexibility. Now Mojang is abandoning the Yggdrasil authentication scheme, but authlib-injector can still use it without any problems.

You might ask why authlib-injector does not follow in Mojang's steps to switch to OAuth. If you take a look at the technical details of the new Microsoft authentication scheme, you will know the answer. OAuth is good, but Microsoft's implementation is complex, ugly and unreasonable. I've seen how launcher authors struggled to understand ridiculous concepts such as XBL and XSTS. authlib-injector may support OAuth in the future, but never in Mojang's way.

On Server i get this Output if Microsoft-Client tries to Connect: com.mojang.authlib.GameProfile@73cb78bf[id=<null>,name=Unisys303,properties={},legacy=false] (/192.168.1.30:50765) lost connection: Disconnected

Same Client works without Authlib-Injector (Client is using HMCL 3.3.181)

Please provide more details so I can understand the problem you've encountered. Are you using authlib-injector on your server? Which authentication server do you use?

yushijinhun commented 3 years ago

Closed due to inactivity.