Skip to content

Conversation

@catfromplan9
Copy link
Contributor

As far as I'm aware, authlib-injector does not use this anywhere. I'd like if it were removed because in ReIndev, a popular b1.7.3 mod, it attempts to base64 decode every "value" field in properties. Under Mojang authentication server it succeeds, but with drasl it will try to Base64-decode something like "skin,cape" and fail.

As far as I'm aware, authlib-injector does not use this anywhere. I'd
like if it were removed because in ReIndev, a popular b1.7.3 mod, it
attempts to base64 decode every "value" field in `properties`. Under
Mojang authentication server it succeeds, but with drasl it will try to
Base64-decode something like "skin,cape" and fail.
@catfromplan9
Copy link
Contributor Author

Screenshot

Here you can see what I'm referring to.

@evan-goode
Copy link
Member

uploadableTextures is in the spec and it's used by launchers: https://github-com.translate.goog/yushijinhun/authlib-injector/wiki/Yggdrasil-%E6%9C%8D%E5%8A%A1%E7%AB%AF%E6%8A%80%E6%9C%AF%E8%A7%84%E8%8C%83?_x_tr_sl=auto&_x_tr_tl=en&_x_tr_hl=en-US

I think it's not the best API design on authlib-injector's part to modify the existing endpoints but not sure what we can do. PR ReIndev?

@catfromplan9
Copy link
Contributor Author

uploadableTextures is in the spec and it's used by launchers: https://github-com.translate.goog/yushijinhun/authlib-injector/wiki/Yggdrasil-%E6%9C%8D%E5%8A%A1%E7%AB%AF%E6%8A%80%E6%9C%AF%E8%A7%84%E8%8C%83?_x_tr_sl=auto&_x_tr_tl=en&_x_tr_hl=en-US

I think it's not the best API design on authlib-injector's part to modify the existing endpoints but not sure what we can do. PR ReIndev?

Reindev is proprietary, can't

I think it's not the best API design on authlib-injector's part to modify the existing endpoints but not sure what we can do.

Yeah, me neither. In cases where it breaks stuff though, I think that it should just be done away with, and I would prefer conformity to mojang's responses. I think that ideally drasl's responses should even 1:1 mirror the spacing that mojang's auth server serves with the json on particular routes, but that'd add way too much complexity.

it's used by launchers

AFAIK HMCL is the only launcher for authlib-injector which uses its protocols. I really doubt there are all that many drasl users who want to use HMCL. Maybe you could add a config option ExtendedAuthlibInjectorSupport that's opt-in which enables this behaviour (and potentially more in the future)?

@catfromplan9
Copy link
Contributor Author

catfromplan9 commented Oct 20, 2025

If you approve of it, I can get to work on a PR for opt-in/opt-out (whatever you think is better I don't mind) disabling of authlib-injector-specific route logic which is known to break things (currently just this)

@catfromplan9
Copy link
Contributor Author

If you approve of it, I can get to work on a PR for opt-in/opt-out (whatever you think is better I don't mind) disabling of authlib-injector-specific route logic which is known to break things (currently just this)

Or better yet, itd be cleaner to have the option able to disable the authlib-injector "yggdrasil server" protocol support globally, which as of now would only break support for HMCL

@catfromplan9
Copy link
Contributor Author

Actually, I should probably just handle this in Loki. That'd be simpler.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants