23 Commits

Author SHA1 Message Date
Evan Goode
770ceededb Batch and rate-limit POST /profiles/minecraft to fallback API servers
For https://github.com/unmojang/drasl/issues/112
2025-04-04 21:00:08 -04:00
Evan Goode
5c1f6c1cfa
Implement SSO via OIDC (#127)
Resolves https://github.com/unmojang/drasl/issues/39

* Use __Host- cookie prefix instead of setting Domain

See https://stackoverflow.com/a/64735551

* Unlinking OIDC accounts

* AllowPasswordLogin, OIDC docs, cleanup

* YggdrasilError

* Migrate existing password users without login

* API query/create/delete user OIDC identities

* test APICreateOIDCIdentity

* test APIDeleteeOIDCIdentity

* API Create users with OIDC identities

* OIDC: PKCE

* Use YggdrasilError in authlib-injector routes

* OIDC: AllowChoosingPlayerName

* recipes.md: Update for OIDC and deprecated config options

* OIDC: fix APICreateUser without password, validate oidcIdentities

* OIDC: error at complete-registration if no preferred player name

* Proper error pages

* MC_ prefix for Minecraft Tokens
2025-03-22 16:40:26 -04:00
Evan Goode
4a48ef6ed3 Disable unreliable cache test 2024-12-28 21:07:32 -05:00
Evan Goode
43f9d3d815 Test /web/create-player 2024-12-28 21:07:32 -05:00
Evan Goode
ca081f8519 Run tests in parallel 2024-12-28 21:07:32 -05:00
Evan Goode
1a8d312797 Tests passing except Front 2024-12-28 21:07:32 -05:00
Evan Goode
60b6414a50 Test for AllowTextureFromURL 2024-11-26 14:56:59 -05:00
Evan Goode
91232dfea3 Always use POST /profiles/minecraft for fallbackAPIServers, fix tests 2024-08-29 18:38:48 -04:00
Evan Goode
db14f9340d APIGetChallengeSkin, cleanup 2024-08-15 12:33:59 -04:00
Evan Goode
72d3b1cd32 Add minecraft/profile/lookup/bulk/byname alias
As of 23w42a, the "Usernames to UUIDs" endpoint, previously at POST
https://api.mojang.com/profiles/minecraft, has been moved to POST
https://api.minecraftservices.com/minecraft/profile/lookup/bulk/byname.

This patch adds an alias for the new endpoint. The old endpoint will
still work.

Related: https://github.com/yushijinhun/authlib-injector/issues/232
2024-03-21 11:12:03 -04:00
Evan Goode
d3bbc02983 unescape errorMessage cookie in tests 2023-08-26 12:11:40 -04:00
Evan Goode
fa5cd70eda Make player names case-insensitive
Resolves https://github.com/unmojang/drasl/issues/29
2023-08-20 22:34:55 -04:00
Evan Goode
3456e33085 Switch from 32-character hex accessTokens to JWTs 2023-08-20 02:15:04 +00:00
Evan Goode
7d5bab6e88 some services tests 2023-07-26 23:49:37 -04:00
Evan Goode
a09e926945 Test authlib-injector root 2023-07-24 23:18:15 -04:00
Evan Goode
8e0ca4926b test account verify security location 2023-07-23 15:32:07 -04:00
Evan Goode
fad4a8498c Print initial invite link if necessary 2023-07-09 01:01:26 -04:00
Evan Goode
ee701eac6e Cache certain responses from fallback API servers 2023-06-26 23:58:14 -04:00
Evan Goode
93127eb9d5 fix tests 2023-06-17 23:57:53 -04:00
Evan Goode
4fdb587119 Go all in on the unified server design 2023-06-03 19:39:35 -04:00
Evan Goode
0fdc6d916c More front-end tests, clean up tests 2023-05-28 00:38:51 -04:00
Evan Goode
5690b7b40c account routes: test fallback API servers 2023-05-07 01:04:24 -04:00
Evan Goode
2dec15cff1 Account server, more tests 2023-05-06 00:36:17 -04:00