feat(nano): federating hasJoined multiplexer with per-source UUID namespacing
This commit is contained in:
5 files changed
+362
-1
No files matched your search
@@ -439,6 +439,41 @@ paths:
|
||||
'503':
|
||||
$ref: '#/components/responses/ServiceUnavailable'
|
||||
|
||||
/session/minecraft/hasJoined:
|
||||
get:
|
||||
tags: [nano]
|
||||
operationId: hasJoined
|
||||
summary: Multi-source session verifier (Felis-nano hasJoined multiplexer).
|
||||
description: >-
|
||||
Velocity's authlib is pointed here via -Dmojang.sessionserver or a thin login
|
||||
hook. Unauthenticated — the vanilla sessionserver protocol carries no token. The
|
||||
query is fanned out to the configured Yggdrasil roots in priority order (the
|
||||
Mojang identity source first); the first source to validate the serverId hash
|
||||
wins. A non-identity source's self-asserted UUID is rewritten into a per-source
|
||||
namespace (UUIDv3) before return, so it can never land in Mojang's UUID space.
|
||||
A rejected or barred login is 204, which authlib maps to a verify failure.
|
||||
x-felis-face: [internal]
|
||||
x-felis-tier: public
|
||||
security: []
|
||||
parameters:
|
||||
- { name: username, in: query, required: true, schema: { type: string } }
|
||||
- { name: serverId, in: query, required: true, schema: { type: string } }
|
||||
- { name: ip, in: query, required: false, schema: { type: string } }
|
||||
responses:
|
||||
'200':
|
||||
description: A source validated the session; the canonical game profile.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
required: [id, name]
|
||||
properties:
|
||||
id: { type: string, description: Canonical UUID, undashed 32-hex. }
|
||||
name: { type: string }
|
||||
properties: { type: array, items: { type: object } }
|
||||
'204':
|
||||
description: No source validated the session, or the resolved UUID is barred.
|
||||
|
||||
# -------------------------------------------------- internal: servers ------
|
||||
/api/v1/servers:
|
||||
get:
|
||||
|
||||
Reference in new issue
Block a user