Bug 1161234 - Part 2: Accept non-default auth, token, and profile endpoints. r=me

This allows us to create accounts that Sync against non-production
endpoints from JavaScript.  In future we will include oauth and
eventually content server endpoints in these messages.
This commit is contained in:
Nick Alexander
2015-07-08 13:46:07 -07:00
parent 750fa4987b
commit 6ffa2a2ac4

View File

@@ -1687,14 +1687,20 @@ public class BrowserApp extends GeckoApp
final byte[] unwrapkB = Utils.hex2Byte(json.getString("unwrapBKey")); final byte[] unwrapkB = Utils.hex2Byte(json.getString("unwrapBKey"));
final byte[] sessionToken = Utils.hex2Byte(json.getString("sessionToken")); final byte[] sessionToken = Utils.hex2Byte(json.getString("sessionToken"));
final byte[] keyFetchToken = Utils.hex2Byte(json.getString("keyFetchToken")); final byte[] keyFetchToken = Utils.hex2Byte(json.getString("keyFetchToken"));
final String authServerEndpoint =
json.optString("authServerEndpoint", FxAccountConstants.DEFAULT_AUTH_SERVER_ENDPOINT);
final String tokenServerEndpoint =
json.optString("tokenServerEndpoint", FxAccountConstants.DEFAULT_TOKEN_SERVER_ENDPOINT);
final String profileServerEndpoint =
json.optString("profileServerEndpoint", FxAccountConstants.DEFAULT_PROFILE_SERVER_ENDPOINT);
// TODO: handle choose what to Sync. // TODO: handle choose what to Sync.
State state = new Engaged(email, uid, verified, unwrapkB, sessionToken, keyFetchToken); State state = new Engaged(email, uid, verified, unwrapkB, sessionToken, keyFetchToken);
fxAccount = AndroidFxAccount.addAndroidAccount(this, fxAccount = AndroidFxAccount.addAndroidAccount(this,
email, email,
getProfile().getName(), getProfile().getName(),
FxAccountConstants.DEFAULT_AUTH_SERVER_ENDPOINT, authServerEndpoint,
FxAccountConstants.DEFAULT_TOKEN_SERVER_ENDPOINT, tokenServerEndpoint,
FxAccountConstants.DEFAULT_PROFILE_SERVER_ENDPOINT, profileServerEndpoint,
state, state,
AndroidFxAccount.DEFAULT_AUTHORITIES_TO_SYNC_AUTOMATICALLY_MAP); AndroidFxAccount.DEFAULT_AUTHORITIES_TO_SYNC_AUTOMATICALLY_MAP);
} catch (Exception e) { } catch (Exception e) {