diff --git a/services/fxaccounts/FxAccounts.jsm b/services/fxaccounts/FxAccounts.jsm index 4e665f8c6a44..b34957066665 100644 --- a/services/fxaccounts/FxAccounts.jsm +++ b/services/fxaccounts/FxAccounts.jsm @@ -653,7 +653,10 @@ FxAccountsInternal.prototype = { }, _signOutServer: function signOutServer(sessionToken) { - return this.fxAccountsClient.signOut(sessionToken); + // For now we assume the service being logged out from is Sync - we might + // need to revisit this when this FxA code is used in a context that + // isn't Sync. + return this.fxAccountsClient.signOut(sessionToken, {service: "sync"}); }, /** diff --git a/services/fxaccounts/FxAccountsClient.jsm b/services/fxaccounts/FxAccountsClient.jsm index b65564231a21..dd5740f82a24 100644 --- a/services/fxaccounts/FxAccountsClient.jsm +++ b/services/fxaccounts/FxAccountsClient.jsm @@ -167,8 +167,12 @@ this.FxAccountsClient.prototype = { * The session token encoded in hex * @return Promise */ - signOut: function (sessionTokenHex) { - return this._request("/session/destroy", "POST", + signOut: function (sessionTokenHex, options = {}) { + let path = "/session/destroy"; + if (options.service) { + path += "?service=" + options.service; + } + return this._request(path, "POST", deriveHawkCredentials(sessionTokenHex, "sessionToken")); },