Table of Contents

Class ConnectionTokenKeyEntity

Namespace
FishMMO.Database.Npgsql.Entities
Assembly
FishMMO-DB.dll

Stores HMAC verification keys for connection tokens, indexed by a logical key ID. LoginServers read these keys at startup and periodically poll for new keys from new regions. Each key is stored as a base64-encoded HMAC key and can be deactivated gracefully (in-flight tokens remain verifiable until DeactivatedAt).

public class ConnectionTokenKeyEntity
Inheritance
ConnectionTokenKeyEntity
Inherited Members

Properties

DeactivatedAt

UTC timestamp at which the key was deactivated. Null while active. Used to bound the verification overlap window and to identify which keys are safe to remove.

public DateTime? DeactivatedAt { get; set; }

Property Value

DateTime?

HmacKeyBase64

HMAC key encoded as a base64 string. LoginServers decode this at startup to obtain the raw HMAC key material.

public string HmacKeyBase64 { get; set; }

Property Value

string

ID

Primary key (auto-increment).

public long ID { get; set; }

Property Value

long

IsActive

Whether this key is currently active for signing new tokens. Inactive keys remain in the table so in-flight tokens can still be verified during the deactivation grace window.

public bool IsActive { get; set; }

Property Value

bool

KeyId

Logical identifier for this key (e.g., "region-us-west", "region-eu-central"). Used by LoginServers to look up the correct verification key for a given token. Unique across all keys — a second entry with the same key_id is rejected.

public string KeyId { get; set; }

Property Value

string

TimeCreated

UTC timestamp when this key was first persisted.

public DateTime TimeCreated { get; set; }

Property Value

DateTime