fxa-content-server/docs/query-params.md

9.2 KiB

Relier provided query parameters

Query parameters are used to pass data from the relier to Firefox Accounts.

OAuth parameters

client_id

Specify the OAuth client_id of the relier being signed in to.

When to specify

When authenticating a user for OAuth.

  • /oauth/signin
  • /oauth/signup
  • /oauth/force_auth

migration

If the user is migrating their account, specify which service they are migrating from.

When to specify

When signing up a user.

  • /signup

Options

  • amo

prompt

Specifies whether the content server prompts for permissions consent. Only applicable for trusted reliers. Untrusted reliers always show the prompt.

Options

  • consent - Show the permissions prompt if any additional permissions are required.

When to specify

When authenticating a user for OAuth. Only applicable for trusted reliers. Untrusted reliers always show the prompt.

  • /oauth/signin
  • /oauth/signup
  • /oauth/force_auth

redirect_uri

Which URI should a user be redirected back to upon completion of the OAuth transaction.

When to specify

When authenticating a user for OAuth.

  • /oauth/signin
  • /oauth/signup
  • /oauth/force_auth

scope

Specify the OAuth scope requested.

Options

  • profile

When to specify

When authenticating a user for OAuth.

  • /oauth/signin
  • /oauth/signup
  • /oauth/force_auth

state

Specify an OAuth state token.

When to specify

When authenticating a user with OAuth.

  • /oauth/signin
  • /oauth/signup
  • /oauth/force_auth

style

Specify an alternate style for Firefox Accounts.

Options

  • chromeless - Show Firefox Accounts without extra "chrome" like the Firefox logo and outside border.

When to specify

When authenticating a user with OAuth and an alternate style is needed.

  • /signin
  • /signup
  • /force_auth

Firefox/Sync parameters

action

Specifies the behavior of users sent to /. As of January 2019, the preferred action for all new integrations is email. By the end of Q1 2019, signin and signup will be treated the same as email.

Specifying action=email causes the "email-first" flow where unauthenticated users are first asked to enter their email address w/o a password. If an account exists for the address, the user is asked to login, if no account exists, the user is asked to create an account.

Options

  • email
  • signin (DEPRECATED, use email)
  • signup (DEPRECATED, use email)

When to specify

  • /

channel

Force which Firefox release channel should be installed after redirecting from /m/:signinCode.

Options

  • beta
  • nightly
  • release

When to specify

  • /m/:signinCode

country

Force a country to be used when testing the SMS feature.

Options

  • CA
  • GB
  • RO
  • US

customizeSync

Set the default value of the "Customize which values to sync" checkbox.

Options

  • true
  • false (default)

When to specify

Only available if context equals fx_desktop_v1, fx_desktop_v2, fx_fennec_v1, fx_firstrun_v2, fx_ios_v1, or iframe and service equals sync.

  • /signup

entrypoint

If they user arrived at Firefox Accounts from within Firefox browser chrome, specify where in Firefox the user came from.

When to specify

  • /signin
  • /signup
  • /force_auth
  • /settings

haltAfterSignIn

Halt after the user signs in, do not redirect to the settings page.

When to specify (must specify context=iframe&service=sync or context=fx_firstrun_v2)

  • /signin
  • /signup
  • /force_auth

migration

If the user is migrating their Sync account from "old sync" to "new sync", specify which sync they are migrating from.

When to specify

Only available if context equals fx_desktop_v1, fx_desktop_v2, fx_desktop_v3, fx_fennec_v1, fx_firstrun_v2, fx_ios_v1, or iframe.

  • /signin
  • /signup

Options

  • sync11

service

Specify which non-OAuth service a user is signing in to.

Options

  • sync

When to specify

Only available if context equals fx_desktop_v1, fx_desktop_v2, fx_desktop_v3, fx_fennec_v1, fx_firstrun_v2, fx_ios_v1, iframe

  • /signin
  • /signup
  • /force_auth

setting

Specify a profile field to make editable.

Options

  • avatar

When to specify

If Firefox Accounts is opened to /settings and a profile field should be made editable.

  • /settings

Generic parameters

context

Specify an alternate context in which Firefox Accounts is being run, if not as a standard web page.

Options

  • fx_desktop_v1 - Firefox Accounts is being used to sign in to Sync on Firefox Desktop using CustomEvents.
  • fx_desktop_v2 - Firefox Accounts is being used to sign in to Sync on Firefox Desktop using WebChannels.
  • fx_desktop_v3 - Firefox Accounts is being used to sign in to Sync on Firefox Desktop using WebChannels. Used to add the syncPreferencesNotification capability
  • fx_fennec_v1 - Firefox Accounts is being used to sign in to Sync on Firefox for Android using WebChannels.
  • fx_firstrun_v2 - Firefox Accounts is being used to sign in to Sync on the Firefox Desktop firstrun page. Used to add the syncPreferencesNotification capability
  • fx_ios_v1 - Firefox Accounts is being used to sign in to Sync on Firefox for iOS using CustomEvents.
  • iframe - Firefox Accounts is being used to sign in to Sync on Firefox Desktop firstrun page. Misnamed and should be called fx_firstrun_v1.

email

When used on /signin, /oauth/signin, /signup, or /oauth/signup, suggest a user to sign in. If set to the string blank, an empty sign in form will be displayed and no suggested accounts will appear.

When specified at /force_auth, the user will be forced to sign in as the specified email. If an account does not exist for the specified email, the user will be unable to sign in.

When to specify

If the user's email address is already known.

  • /signin
  • /oauth/signin
  • /signup
  • /oauth/signup
  • /force_auth
  • /oauth/force_auth

utm_campaign

The Google Analytics utm_campaign field. Will be passed back to the relier when authentication completes.

When to specify

  • /signin
  • /signup
  • /force_auth
  • /

utm_content

The Google Analytics utm_content field. Will be passed back to the relier when authentication completes.

When to specify

  • /signin
  • /signup
  • /force_auth
  • /

utm_medium

The Google Analytics utm_medium field. Will be passed back to the relier when authentication completes.

When to specify

  • /signin
  • /signup
  • /force_auth
  • /

utm_source

The Google Analytics utm_source field. Will be passed back to the relier when authentication completes.

When to specify

  • /signin
  • /signup
  • /force_auth
  • /

utm_term

The Google Analytics utm_term field. Will be passed back to the relier when authentication completes.

When to specify

  • /signin
  • /signup
  • /force_auth
  • /

Email verification parameters

code

Used in the verification flows to specify the verification code.

When to use

Should not be used by reliers.

uid

Used in two cases:

  1. By the verification flows to specify the user id of the user being verified.
  2. By reliers when loading a settings page to specify which account should be used.

When to use

Reliers who send users to a settings page to e.g., set an avatar, can pass a uid to ensure users with multiple accounts update the avatar for the correct account.

Experimental/development parameters

automatedBrowser

Used by functional tests to indicate the browser is being automated.

Options

  • true
  • false (default)

disable_local_storage

Used by functional tests to synthesize localStorage being disabled.

Options

  • 0
  • 1

When to use

Should not be used by reliers. Should only be used by functional tests.

forceAboutAccounts

Force Sync brokers to act as if the user opened FxA from within about:accounts.

Options

  • true

When to use

Should not be used by reliers. Should only be used for Sync based functional tests.

forceExperiment

Force a particular AB test.

Options

  • emailFirst - Should the user go through the email-first flow?
  • sendSms - Allow users to send an SMS containing a Firefox Mobile installation link

forceExperimentGroup

Force the user into a particular AB test experiment group.

Options

  • control - default behavior.
  • treatment - new behavior.
  • signinCodes - a second treatment group, only used for the sendSms experiment. When sending an SMS, the install link contains a signinCode that helps the user sign in more easily on the second device.

Reset Password parameters

reset_password_confirm

Used to skip the confirmation form to reset a password

Options

  • true (default)
  • false

When to use

Should not be used by reliers. Should only be used for accounts that must be reset.

emailToHashWith

Allows you to override the default email that a reset password is hashed with.

Options

  • user's current primary email (default)

When to use

After a user has changed their primary email you need to hash with the original account email if they perform a reset password.

Secondary email parameters

Options

  • true
  • false (default)

When to specify

  • /settings/emails