Identity & User Platform

GolangMongoDBRedisAWS EC2
Identity & User Platform illustration

Overview

Identity & User Platform handles player accounts, authentication and profile data for online gaming ecosystems. Identity is the service everything else depends on: chat needs to know who is speaking, leaderboards need a stable player id to attach scores to, and matchmaking needs a profile to reason about. Getting it wrong is expensive precisely because so much sits downstream of it.

The platform is built in Golang as a set of microservices, with MongoDB for flexible profile documents and Redis for session and token state. The split matters: profiles change shape constantly as a game adds cosmetics, progression and preferences, which suits a document store, while sessions are short-lived key-value data that belong in memory. Forcing both into one store is a common source of avoidable pain.

It runs on AWS EC2 in Docker containers, which gives predictable capacity for a workload that is steady rather than spiky, and integrates with the rest of the stack — chat, leaderboards, social graph — through internal APIs. Authentication covers the flows players actually expect: email and password, social sign-in, guest accounts that upgrade later, and device-bound sessions across platforms.

Built for Impact

Advanced features that power your digital infrastructure.

Multiple Authentication Flows

Email and password, social sign-in, and guest accounts that upgrade to full accounts without losing progress — the pattern most games need on day one.

Session and Token Management

Short-lived access tokens with refresh, backed by Redis, so sessions can be revoked immediately rather than waiting for a token to expire on its own.

Flexible Player Profiles

MongoDB documents rather than a fixed schema, so adding cosmetics, progression fields or preferences does not require a migration across every existing player.

Cross-Platform Accounts

One identity across PC, mobile and console, with per-device session tracking so a player can be signed in on several devices and sign out of one.

Account Security Controls

Password reset, email verification, suspicious sign-in handling and account recovery — the unglamorous flows that determine whether support drowns.

Service-to-Service APIs

Internal endpoints for the rest of your backend to resolve a player id to a profile, so chat, leaderboards and matchmaking all read identity from one place.

Specs

Architecture

Microservices

Language

Golang

Database

MongoDB

Cache

Redis

Deployment

AWS EC2 / Docker

Use Case

Authentication & Accounts

How It Works

1

Register or sign in

A player signs up with email, a social provider, or as a guest. Guest accounts get a real player id immediately, which matters because it means progress made before registering survives the upgrade rather than being discarded at the moment the player finally commits.

2

Issue a session

On success the platform issues a short-lived access token and a refresh token, with session state held in Redis. Because the session is server-side rather than purely in the token, it can be revoked the moment an account is compromised instead of staying valid until expiry.

3

Serve profile data

Other services resolve a player id to a profile through internal APIs. Profile documents carry whatever the game needs — display name, avatar, progression, preferences — and new fields can be added without migrating existing players.

4

Maintain the account

Password resets, email verification, device management and account recovery run through the same service. Keeping them here rather than scattering them across clients is what makes it possible to change a security policy in one place.

Common Use Cases

Game account systems

The player identity layer for a multiplayer title — accounts, sign-in, profiles and sessions — feeding chat, leaderboards, matchmaking and everything else that needs to know who a player is.

Multi-title publishers

A single account across several games, so players carry one identity and a publisher gets a coherent view of them. Shared identity is far easier to build in at the start than to retrofit across live titles.

Products needing guest-first onboarding

Anything where forcing registration before value costs you users. Guest accounts that upgrade in place let people start immediately and commit later without losing what they did in between.

What to Decide Early

Plan the guest-to-account upgrade path

Guest accounts dramatically improve early retention, but only if progress survives registration. That means issuing a real player id at first launch rather than at sign-up, so every downstream system already has something stable to attach to. Teams that add guest mode later usually discover their progression data was keyed to an account that did not yet exist.

Decide how strict account recovery should be

Recovery sits directly between support cost and account security, and the right point differs by product. Loose recovery invites account takeovers; strict recovery produces angry players who genuinely lost access. Deciding the policy up front, including what proof is required, whether support can override it and what gets logged, is what stops it being decided case by case under pressure.

Consider shared identity across titles now

If a second game is plausible, a shared account layer is far cheaper to build once than to reconcile across two live products with separate player bases. Even if you never use it, designing identity as its own service rather than a module inside one game keeps the option open at almost no additional cost.

Frequently Asked Questions

Yes. Guest accounts get a real player id straight away and can be upgraded to a full account later, carrying progress with them. This is usually the difference between a player trying your game and bouncing at a sign-up form.
Session state lives in Redis rather than only inside the token, so revoking a session takes effect immediately. That matters when an account is compromised — waiting for a token to expire is not an acceptable response.
Yes, alongside email and password. Social providers cover the common platforms, and additional providers are configuration rather than a code change.
Profiles are MongoDB documents rather than fixed rows, so adding a cosmetics field or a new progression counter does not require migrating every existing player. This is the main reason a document store was chosen here.
Yes. A single identity can back multiple titles, which gives players one account and gives you a coherent view across your catalogue. It is substantially easier to adopt this before launching a second title than after.

Still have questions? Talk to our team

Scale Your Infrastructure

Ready to handle millions of users? Our backend experts are here to build the high-concurrency, secure architecture your mission-critical project demands.

Request Custom Solution