Repository navigation
Providers
jack edited this page Jun 25, 2026
·
3 revisions
Wawel Auth can accept players from two kinds of auth providers:
- Local Wawel Auth provider hosted by the server itself
- External fallback providers listed in
config/wawelauth/fallback-servers.json
If local auth is enabled, it is checked first. If that does not resolve the player, Wawel Auth tries the configured fallback providers in order. There is no implicit Mojang (note, Mojang and Microsoft are used interchangeably in this article) fallback: if you want Mojang accounts to work, Mojang must be present in fallback-servers.json.
{
"fallbackServers": [
{
"enabled": true,
"name": "mojang",
"sessionServerUrl": "https://sessionserver.mojang.com",
"accountUrl": "https://authserver.mojang.com",
"servicesUrl": "https://api.minecraftservices.com",
"skinDomains": [
".minecraft.net",
".mojang.com"
],
"cacheTtlSeconds": 300
}
]
}-
name: Provider identifier used by provider-scoped server commands such as/whitelist add player@provider,/op player@provider,/ban player@provider, and/pardon player@provider. It should be unique and should not contain spaces. -
sessionServerUrl: Used for hasJoined checks and profile lookups. -
accountUrl: Provider's auth server URL. Wawel Auth uses it when advertising accepted providers to Wawel Auth clients, and as a fallback source when deriving provider metadata. -
servicesUrl: Provider's services/API base. Relevant for "richer" authlib-injector compatible providers. -
apiRoot: Optional. It is mainly useful for authlib-injector style providers whose metadata lives at a Yggdrasil API root such ashttps://littleskin.cn/api/yggdrasil. -
signaturePublicKeyBase64Optional. If it is not set, Wawel Auth will try to discover the provider's signing key from its metadata on startup. -
skinDomains: Lists texture domains that are trusted for that fallback provider. -
cacheTtlSeconds: Controls the cache lifetime for fallback profile lookups and proxied textures.
{
"name": "ely.by",
"sessionServerUrl": "https://authserver.ely.by/api/authlib-injector/sessionserver",
"accountUrl": "https://authserver.ely.by/api",
"servicesUrl": "https://authserver.ely.by/api/authlib-injector/minecraftservices",
"skinDomains": [
"ely.by",
".ely.by"
],
"cacheTtlSeconds": 300
}{
"enabled": true,
"name": "littleskin",
"apiRoot": "https://littleskin.cn/api/yggdrasil",
"sessionServerUrl": "https://littleskin.cn/api/yggdrasil/sessionserver",
"accountUrl": "https://littleskin.cn/api/yggdrasil/authserver",
"servicesUrl": "https://littleskin.cn/api/yggdrasil",
"signaturePublicKeyBase64": "",
"skinDomains": [
"littleskin.cn"
],
"cacheTtlSeconds": 300
}