Namespace FishMMO.Auth.Core
Namespaces
Structs
- AccountVerifyDto
DTO for account verification using a verification code. Mirrors
AccountVerifyBroadcast.
- ClientAuthResultDto
DTO for communicating the result of client authentication. Mirrors
ClientAuthResultBroadcast.
- ClientHandshakeDto
DTO for client handshake initiation, containing the ephemeral X25519 public key for ECDH key agreement and supported protocol version range. Mirrors
ClientHandshake.
- CreateAccountDto
Transport-agnostic DTOs mirroring the FishNet authentication broadcast structs. These contain no engine or networking framework dependencies.
- ServerHandshakeDto
DTO for server handshake response, containing the server's X25519 public key for ECDH key agreement and the negotiated protocol version. Mirrors
ServerHandshake.
- SrpProofDto
DTO for SRP proof step, containing the proof value. Mirrors
SrpProofBroadcast.
- SrpSuccessDto
DTO for successful SRP authentication, containing proof and result. Mirrors
SrpSuccessBroadcast.
- SrpVerifyDto
DTO for SRP verify step, containing salt/identifier and public ephemeral value. Mirrors
SrpVerifyRequestBroadcast.
- TokenAuthDto
DTO for token-based authentication with a World or Scene server. Mirrors
TokenAuthBroadcast.
- TwoFactorSetupDto
DTO for two-factor setup data sent after account creation. Mirrors
TwoFactorSetupBroadcast.
- TwoFactorVerifyDto
DTO for submitting a TOTP code during login when two-factor authentication is required. Mirrors
TwoFactorVerifyBroadcast.
Interfaces
- IAccountManager<TConnection>
Base interface for managing account and connection data shared by all server types. Contains encryption, account lookup, authentication state machine, and lifecycle methods common to both SRP-based (Login) and token-based (World/Scene) authentication flows.
- ISrpAccountManager<TConnection>
Extended account manager interface for SRP-based authentication on the LoginServer. Adds SRP-specific connection account creation with SRP data, and periodic sweep of stale unauthenticated connections. Auth state machine methods (
TryAdvanceAuthState,HasAuthState) live on the base IAccountManager<TConnection> interface.
- ITokenAccountManager<TConnection>
Extended account manager interface for token-based authentication on World and Scene servers. Adds a simplified connection account creation method that does not require SRP state.
Enums
- AccessLevel
Account and character access levels. Values must stay in sync with FishMMO.Database.Data.Enums.AccessLevel.
WARNING: If you add, remove, or reorder a value here you MUST update the corresponding enum in the database layer and run a migration. Consider adding a unit test that asserts every member of this enum matches the database enum (e.g. via a SELECT DISTINCT query or a checked-in mapping file) so the mismatch is caught at CI time rather than at runtime.
- AuthState
Unified authentication state for all server types. Replaces the former SrpState enum and implicit in-flight flags with a single atomic enum that tracks the full connection lifecycle.
- ClientAuthenticationResult
Enum representing possible outcomes of client authentication attempts. Used to communicate authentication status and errors to the client.