GUIDE / WEB STORE LOGIN

Passwordless web store login: the game is the identity

Why web store login kills conversion, and the design that removes it: the game already knows the player, so the backend signs a short-lived player token and the store opens signed in. No password, no code by email, no new account. Includes the token rules, the outside-the-game case and what to tell support.

Updated

A player taps "buy on the web", lands on a page, and is asked to log in. Which account? The game account has no password; it was created with Game Center or a Google sign-in two years ago. Half of them close the tab. The store didn't fail on price or design; it failed on the first screen.

The fix isn't a better login screen. It's no login screen. The game the player just left already knows exactly who they are.

The design: the backend signs, the store trusts

  1. The game asks your backend for a player token. The request goes through the game's own authenticated session, so your backend knows the player.
  2. Your backend signs the token. It contains your player ID, expires within five minutes, and is signed with a private key you hold. You register the public key once in the Studio (player tokens).
  3. The game opens the store with the token. openStore(playerToken) for the store, or purchase(sku, playerToken) for one pack.
  4. The store opens signed in. The player sees the pack, the price and the checkout, in the game's look. Nothing to type.
  5. The order arrives at your backend as a signed order.paid webhook with the same player ID, and your backend grants it.

There's no password because there's nothing to protect with one: the token can't be used to log in to anything, only to buy a pack for that player, for the next few minutes.

The token rules

Rule Why
Expires within 5 minutes; anything longer is rejected A leaked token is useless almost immediately
Bound to one player ID It can't buy for someone else
Signed by your private key, verified against the public key in the Studio The store can't be fooled by a forged token
Minted only by your backend, behind your login The game client never holds a signing key
Optional attributes (level, spender tier, country, new player) Targeted offers, signed by you, so the store never trusts the client's word
Key rotation: add the new key, switch, wait five minutes, remove the old No downtime, no forced re-login

The outside-the-game case

Not every visit starts in the game. A push, a newsletter or a Discord post sends the player to a link, and there's no token yet.

Send the link through the game. A Universal Link (iOS) or App Link (Android) opens the app, which asks the backend for a token and opens the store. The player never sees a web login; they're signed in to the game, which is the only account they have. The deep links guide covers the return path, and the same association files handle the entry.

Where the app isn't installed on that device, you have a real choice: a one-time code by email is the least bad fallback, and it should be the exception that your analytics show is rare, not the default that every visitor meets.

What this does to conversion

The order of drop-off in a web store is almost always: login, then "is this really the game's store?", then "is it a better deal?", then checkout (conversion checklist). Removing the first step is the biggest single change you can make, and it's free: it's three lines in the game and one endpoint on your backend.

Appcharge's post on the subject (January 15, 2025) lists the login problem first among four, recommends auto-login when the player is already signed into the game, and reports a revenue increase of 10% or more for some games after adding a one-time-password login, from its own experience rather than a study. Auto-login is the right recommendation; the version above goes one step further and makes it the only login there is.

What to tell support

Three sentences cover every ticket:

Create your store free. No card needed to start; 3.9% per successful payment.

Frequently asked questions

Why do players need to log in to a web store at all?

The store has to know who's buying, so the pack can be delivered to the right account. The mistake is asking the player to prove it again with a password or a code, when the game they just left already knows.

How does passwordless login work in Appside?

The game asks your backend for a player token. Your backend, which has already authenticated the player, signs a token that lives at most five minutes. The game opens the store with it, and the store opens signed in. There's no password, no email code and no account to create.

What if a player opens the store from an email or a social post?

Send the link through the game: a Universal Link or App Link opens the app, which opens the store with a fresh token. The player never signs in to the web; they're signed in to the game.

Is a one-time code by email good enough?

It's better than a password and worse than no step at all. Every extra screen between the pack and the payment loses players, and a code by email adds two (the request and the inbox). Use it only where the game can't sign the player in.

Can a token be stolen and reused?

It's short-lived, bound to one player, signed with your private key and verified against the public key you register in the Studio. If it leaks, it stops working within minutes, and it never contains a password.

Sources

Related

SEE IT YOURSELF

Build your store
before the first call.

Try the live demo ↗Explore Studio
LET’S TALK

Book a demo

Connect with Oded to arrange a walkthrough of Appside.

Contact Oded on LinkedIn ↗