LimboAuth Client Mod
A client mod for LimboAuth
Test server: ely.su
Mod dependencies
- Architectury API
Features of LimboAuth Client Mod
- Saves session tokens to the config file (
.minecraft/config/limboauth.yml) - You can set your own session token via the custom launcher
How does session token work
- The server makes a token - a struct that contains an issue timestamp
- The server signs this token with a private verify key (which you can see in the LimboAuth config)
- The server sends the token to the client, the client saves it to the config file
- When player joins the server, servers asks client if he has a session token
- If the player has a session token, it sends it to the server
- The server verifies the token via the private verify key
How to generate a session token
Pseudocode
# This key must be the same in the plugin config and in the server hash issuer
verify_key = "testkey123"
issue_timestamp = unix_timestamp_millis()
player_username = "TestPlayer123"
username_bytes = utf8.string_to_bytes(lower(player_username))
timestamp_bytes = big_endian.long_to_bytes(issue_timestamp)
# siphash 2-4 (default siphash) is used here
tokenhash = siphash.hash(verify_key, byte_concat(username_bytes, timestamp_bytes))
hash_bytes = big_endian.long_to_bytes(tokenhash)
token = base64.encode_to_string(byte_concat(timestamp_bytes, hash_bytes))
When does the token expire?
- The token expires if the player changes his password
- See ISSUEDTIME database field
Donation
Your donations are really appreciated. Donations wallets/links/cards:
No gallery available for this project.
| Version | Minecraft | Loader | Download |
|---|---|---|---|
|
Release 1.0.0 1.0.0 |
1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4
|
forge
|
Download |
|
Release 1.0.0 1.0.0 |
1.14.4, 1.15, 1.15.1, 1.15.2, 1.16, 1.16.1, 1.16.2, 1.16.3, 1.16.4, 1.16.5, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.19.4
|
fabric
|
Download |