Vixen
02b45cc4
csharp
public record class AccountRecord

Who somebody is to this service. Not how they proved it.

Read the guide page for this →

Remarks

⚠ There is no password field here, and there is not going to be one. A game engine that shipped a credential store would be shipping a liability its authors do not operate: hashing parameters that age, breach response, password reset, multi-factor, account recovery — every one of which is a product decision and a legal one. What the gate needs is the answer to "which account is this request for", and that answer comes from whatever the deployment already trusts: an OIDC provider, Steam, EOS, a platform SDK, or the game's own existing account service.

So Handle is the identity that authority hands back, and this table maps it to the account the world knows. The seam is IAccountAuthority in Vixen.Live.Gate. This is the same position doc 16 took on Steam and EOS transports and doc 27 M-Q1 restated: the engine ships the seam and one honest development implementation, not the integration.

Fields and properties (4)

  • public Guid Id

    The account. What Account holds.

  • public string Handle

    What the authority calls them. Unique, and opaque to this layer.

  • public DateTimeOffset Created

    When the account first appeared.

  • public bool Suspended

    Whether the gate should refuse them, and everything downstream too.

Methods (2)

  • public AccountRecord(Guid Id, string Handle, DateTimeOffset Created, bool Suspended)

    Who somebody is to this service. Not how they proved it.

  • public override string ToString()

    Returns a string that represents the current object.

Used by (5)

  • GateServiceVixen.Live.Gate
  • IAccountRepositoryVixen.Live.Persistence
  • MemoryPersistenceVixen.Live.Persistence
  • RepositoryTestsVixen.Live.Persistence.Tests
  • SqlPersistenceVixen.Live.Persistence