
LimboAuth客户端模组
使用 LimboAuth 插件、客户端模组以及可选的定制启动器实现自动登录

LimboAuth 客户端模组
一个用于 LimboAuth 的客户端模组
测试服务器:ely.su
模组依赖
- Architectury API
LimboAuth 客户端模组的功能
- 将会话令牌保存到配置文件(
.minecraft/config/limboauth.yml) - 你可以通过自定义启动器设置自己的会话令牌
会话令牌的工作原理
- 服务器生成一个令牌——一个包含签发时间戳的结构体
- 服务器使用私有验证密钥(可在 LimboAuth 配置中查看)对该令牌进行签名
- 服务器将令牌发送给客户端,客户端将其保存到配置文件中
- 当玩家加入服务器时,服务器询问客户端是否持有会话令牌
- 如果玩家持有会话令牌,则将其发送给服务器
- 服务器通过私有验证密钥验证该令牌
如何生成会话令牌
伪代码
# 此密钥必须与插件配置和服务器哈希签发器中的密钥相同
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(默认 siphash)
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))
令牌何时过期?
- 如果玩家更改了密码,令牌将过期
- 参见 ISSUEDTIME 数据库字段
捐赠
非常感谢您的捐赠。捐赠钱包/链接/银行卡:
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。