games.cavu.bindSession

Served by the game host named in a grant's hostService. The game server presents the grant and its attestation with a DPoP proof (DPoP header, ES256). The host verifies the attestation against the launch service's key, checks the grant is unexpired and names this host, checks `jkt` matches the proof key, consumes the nonce (which it minted for `player`), and binds a session to that key. Later calls (getCapabilities, com.atproto.repo.putRecord, ...) carry `Authorization: DPoP <session>` plus a fresh proof.

Repository @pardy.at did:plc:dp7v5b5kejmmzzpwmqyf5wj6 namespace authority
Details · procedure
Kindprocedure
Authoritycavu.games
Indexed

Procedure

procedure · POST

Input

application/json

grant

requiredref

Output

application/json

capabilities

requiredarray
itemsref

expiresAt

requiredstring · datetime

Session lifetime, independent of (and longer than) the grant's.

handle

string · handle

player

requiredstring · did

presence

boolean

The player chose (at this host) to show what they're playing: the session may keep their games.atmosphere.status record (rkey 'self') naming this game's games.atmosphere.define record, and its capabilities include that write. Checked against the player's current choice on every write.

session

requiredstring

Opaque session token; only usable with the bound DPoP key.

  • maxLength: 256

Errors

AuthRequired

Missing or invalid DPoP proof.

InvalidGrant

Bad attestation, wrong host, or unknown launch service key.

GrantExpired

No description in schema.

NonceUsed

No description in schema.

KeyMismatch

The DPoP key's thumbprint is not the grant's jkt.

PlayerSignedOut

The host no longer holds a session for the grant's player.

Similar lexicons

semantic match

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • What this bound session may do, as resolved by the host (standard sets expanded to the concrete collections/rkeys for this game). Requires the session token and a DPoP proof.