Social login vs. email: signing up in TerrainTale
There's no wrong choice at sign-up — email and password, a one-time email link, and five social providers all lead to the same free account with the same one-scene limit until you upgrade. The difference is convenience and how the account gets identified, not what it can do.
· 5 min read · TerrainTale

The options
Whichever sign-in provider has credentials configured shows a button on /login and /signup: Google, Facebook, Apple, GitHub and Discord, alongside the plain email + password (scrypt-hashed) and one-time email link options. All of it runs through the same server-side authorization-code flow, with no third-party SDK loaded on the page — the only difference between providers is which one you're asked to authenticate with first.

How a social sign-in maps to an account
The server checks, in order: a provider identity already linked to an account signs straight into it; otherwise a provider-verified email that matches an existing account gets linked to it automatically; otherwise a new account is created. That middle rule is what keeps things safe — an unverified email from a lax provider is refused rather than silently claiming someone else's existing account, so signing in with Google the first time and Discord the next, using the same verified email, lands on the same account rather than creating a second one.
What each provider needs from you
Google, GitHub and Discord are the simplest — pick the button, approve the permission, you're in. Apple is a little different under the hood: it sends your name only on the very first authorization and never again, and it only works over https, so Apple sign-in specifically can't be tried on a plain localhost development setup (it works fine on the live site). Facebook accounts registered by phone number with no email attached are asked to sign up with email first, since the account system needs an email to identify you by.
- Google, GitHub, Discord — standard one-click flow
- Apple — name is shared once only, requires https (not testable on localhost)
- Facebook — a phone-only account with no email is asked to add one first
- Email + password, or a one-time magic link — no third-party account needed at all
Which one to pick
If you already use one of the five providers daily and don't want another password, social sign-in is the faster path and behaves identically to email once you're in — same free plan, same one saved scene, same everything. If you'd rather not link a third-party account to your TerrainTale account at all, plain email and password (or the one-time link, if you'd rather not remember a password) works exactly the same and isn't a second-class option — it's simply a different way to identify the same kind of account.
Neither choice affects the plan
Signing up with a social provider versus email makes no difference to what the account can do — the free plan's one saved scene, and the two things Premium adds (more scenes, your own file imports), apply identically regardless of how the account was created.
If you already use several of these providers
It's worth signing in with whichever provider you're already logged into on the same device, since that skips a password entirely — but it's also fine to mix later. Adding a second sign-in method to the same account isn't something most people need, because the email-matching rule already keeps you on one account as long as the providers agree on a verified email address.