From 1c060fbfab5659b855e1ac57d64e3f104c9e5a93 Mon Sep 17 00:00:00 2001 From: Edouard Oger Date: Wed, 24 Jul 2019 18:34:06 +0000 Subject: [PATCH] Bug 1556276 p1 - Allow extraParams to be passed when constructing FxA URLs. r=markh Differential Revision: https://phabricator.services.mozilla.com/D39032 --HG-- extra : moz-landing-system : lando --- services/fxaccounts/FxAccountsConfig.jsm | 42 +++++++++++++----------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/services/fxaccounts/FxAccountsConfig.jsm b/services/fxaccounts/FxAccountsConfig.jsm index af4e7678f1e7..2ca88bffe4e2 100644 --- a/services/fxaccounts/FxAccountsConfig.jsm +++ b/services/fxaccounts/FxAccountsConfig.jsm @@ -57,73 +57,75 @@ const CONFIG_PREFS = [ ]; var FxAccountsConfig = { - async promiseSignUpURI(entrypoint) { + async promiseSignUpURI(entrypoint, extraParams = {}) { return this._buildURL("signup", { - extraParams: { entrypoint }, + extraParams: { entrypoint, ...extraParams }, }); }, - async promiseSignInURI(entrypoint) { + async promiseSignInURI(entrypoint, extraParams = {}) { return this._buildURL("signin", { - extraParams: { entrypoint }, + extraParams: { entrypoint, ...extraParams }, }); }, - async promiseEmailURI(email, entrypoint) { + async promiseEmailURI(email, entrypoint, extraParams = {}) { return this._buildURL("", { - extraParams: { entrypoint, email }, + extraParams: { entrypoint, email, ...extraParams }, }); }, - async promiseEmailFirstURI(entrypoint) { + async promiseEmailFirstURI(entrypoint, extraParams = {}) { return this._buildURL("", { - extraParams: { entrypoint, action: "email" }, + extraParams: { entrypoint, action: "email", ...extraParams }, }); }, - async promiseForceSigninURI(entrypoint) { + async promiseForceSigninURI(entrypoint, extraParams = {}) { return this._buildURL("force_auth", { - extraParams: { entrypoint }, + extraParams: { entrypoint, ...extraParams }, addAccountIdentifiers: true, }); }, - async promiseManageURI(entrypoint) { + async promiseManageURI(entrypoint, extraParams = {}) { return this._buildURL("settings", { - extraParams: { entrypoint }, + extraParams: { entrypoint, ...extraParams }, addAccountIdentifiers: true, }); }, - async promiseChangeAvatarURI(entrypoint) { + async promiseChangeAvatarURI(entrypoint, extraParams = {}) { return this._buildURL("settings/avatar/change", { - extraParams: { entrypoint }, + extraParams: { entrypoint, ...extraParams }, addAccountIdentifiers: true, }); }, - async promiseManageDevicesURI(entrypoint) { + async promiseManageDevicesURI(entrypoint, extraParams = {}) { return this._buildURL("settings/clients", { - extraParams: { entrypoint }, + extraParams: { entrypoint, ...extraParams }, addAccountIdentifiers: true, }); }, - async promiseConnectDeviceURI(entrypoint) { + async promiseConnectDeviceURI(entrypoint, extraParams = {}) { return this._buildURL("connect_another_device", { - extraParams: { entrypoint }, + extraParams: { entrypoint, ...extraParams }, addAccountIdentifiers: true, }); }, - async promisePairingURI() { + async promisePairingURI(extraParams = {}) { return this._buildURL("pair", { + extraParams, includeDefaultParams: false, }); }, - async promiseOAuthURI() { + async promiseOAuthURI(extraParams = {}) { return this._buildURL("oauth", { + extraParams, includeDefaultParams: false, }); },