820 lines
23 KiB
TypeScript
820 lines
23 KiB
TypeScript
// Metro module 5641 (f5642).
|
|
import { setPromoEmailConsentState } from "../modules/auth/PromoEmailConsentStore";
|
|
import AuthenticationStore from "../stores/AuthenticationStore";
|
|
import ConsentStore from "../stores/ConsentStore";
|
|
import { AbortCodes, DEVICE_TOKEN, DEVICE_VOIP_TOKEN, Endpoints, Routes } from "../Constants";
|
|
import { DEVICE_PUSH_VOIP_PROVIDER, getDevicePushProvider } from "../modules/push_notifications/PushNotificationConstants";
|
|
import Logger from "../modules/debug/Logger";
|
|
import CrossPlatformNativeUtils_native from "../utils/CrossPlatformNativeUtils.native";
|
|
import Dispatcher from "../Dispatcher";
|
|
import { getRootNavigationRef } from "../modules/main_tabs_v2/RootNavigationRef.native";
|
|
import { transitionTo } from "../modules/routing/router_utils";
|
|
import ModalActionCreators from "./ModalActionCreators";
|
|
import TrackedHTTPUtils from "../utils/TrackedHTTPUtils";
|
|
import { NetworkActionNames } from "../_bundle/Module503";
|
|
import { rejectWithMigratedError, HTTPResponseError, HTTP } from "../_bundle/sendRequest";
|
|
import { V6OrEarlierAPIError, APIError } from "../errors/index";
|
|
import { fetchWebAuthnPasswordlessChallenge } from "../modules/webauthn/WebAuthnActionCreators";
|
|
import SignalHelpers_native from "../modules/webauthn/SignalHelpers.native";
|
|
import { Storage } from "../_bundle/Module595";
|
|
import { getToken } from "../_bundle/setSecondaryToken";
|
|
import { HermesBuiltin } from "../_hermes/prelude";
|
|
let c3481_4, c3481_16, c3481_17, c3481_18, $mk76574 = function() {
|
|
return (a0) => {
|
|
c3481_16.error("Error while dispatching LOGOUT", a0);
|
|
const DiscordErrors = window.DiscordErrors;
|
|
if (DiscordErrors != null) {
|
|
DiscordErrors.softCrash(a0);
|
|
}
|
|
throw a0;
|
|
};
|
|
};
|
|
const handleLogout = function handleLogout(a0, r8 = Routes.DEFAULT_LOGGED_OUT) {
|
|
CrossPlatformNativeUtils_native.clearNavigationHistory();
|
|
Dispatcher.dispatch({
|
|
type: "LOGOUT",
|
|
...void 0
|
|
}).catch($mk76574());
|
|
if (r8 != null) {
|
|
const rootNavigationRef = getRootNavigationRef();
|
|
if (rootNavigationRef != null) {
|
|
ModalActionCreators.popAll();
|
|
rootNavigationRef.reset({
|
|
index: 0,
|
|
routes: [{
|
|
name: "auth"
|
|
}]
|
|
});
|
|
} else {
|
|
transitionTo(r8, {
|
|
source: a0
|
|
});
|
|
}
|
|
}
|
|
};
|
|
c3481_16 = new Logger("AuthenticationActionCreators");
|
|
c3481_17 = null;
|
|
c3481_18 = {
|
|
MFA: "MFA",
|
|
SUCCESS: "SUCCESS"
|
|
};
|
|
const r48 = {
|
|
startSession: (token) => {
|
|
Dispatcher.wait(() => {
|
|
Dispatcher.dispatch({
|
|
type: "START_SESSION",
|
|
token
|
|
});
|
|
});
|
|
},
|
|
login: function login({ login: login2, password, undelete, source: source4, giftCodeSKUId: giftCodeSKUId2, invite, isMultiAccount }) {
|
|
Dispatcher.dispatch({
|
|
type: "LOGIN",
|
|
isPasswordAttempt: true
|
|
});
|
|
return TrackedHTTPUtils.post({
|
|
url: Endpoints.LOGIN,
|
|
body: {
|
|
login: login2,
|
|
password,
|
|
undelete,
|
|
login_source: source4,
|
|
gift_code_sku_id: giftCodeSKUId2
|
|
},
|
|
retries: 2,
|
|
oldFormErrors: true,
|
|
trackedActionData: {
|
|
event: NetworkActionNames.USER_LOGIN,
|
|
properties: {
|
|
invite_code: invite?.code,
|
|
is_multi_account: isMultiAccount
|
|
}
|
|
},
|
|
...isMultiAccount ? {
|
|
headers: {
|
|
authorization: ""
|
|
}
|
|
} : {},
|
|
rejectWithError: rejectWithMigratedError()
|
|
}).then(({ body }) => {
|
|
const { mfa, sms, webauthn, ticket: ticket3, token: token6, backup, user_id, required_actions, totp, login_instance_id } = body;
|
|
Dispatcher.dispatch({
|
|
type: "LOGIN_ATTEMPTED",
|
|
user_id,
|
|
required_actions
|
|
});
|
|
if (mfa) {
|
|
Dispatcher.dispatch({
|
|
type: "LOGIN_MFA_STEP",
|
|
ticket: ticket3,
|
|
sms,
|
|
webauthn,
|
|
totp,
|
|
backup,
|
|
loginInstanceId: login_instance_id
|
|
});
|
|
} else if (isMultiAccount) {
|
|
this.switchAccountToken(token6);
|
|
} else {
|
|
Dispatcher.dispatch({
|
|
type: "LOGIN_SUCCESS",
|
|
token: token6
|
|
});
|
|
}
|
|
}, (a0) => {
|
|
const v6OrEarlierAPIError = new V6OrEarlierAPIError(a0);
|
|
if (a0.body != null) {
|
|
if (a0.body?.suspended_user_token != null) {
|
|
Dispatcher.dispatch({
|
|
type: "LOGIN_SUSPENDED_USER",
|
|
suspendedUserToken: a0.body?.suspended_user_token
|
|
});
|
|
throw v6OrEarlierAPIError;
|
|
}
|
|
}
|
|
const code2 = a0.body?.code;
|
|
if (code2 === AbortCodes.ACCOUNT_SCHEDULED_FOR_DELETION && (password != null && password !== "")) {
|
|
Dispatcher.dispatch({
|
|
type: "LOGIN_ACCOUNT_SCHEDULED_FOR_DELETION",
|
|
credentials: {
|
|
login: login2,
|
|
password
|
|
}
|
|
});
|
|
} else if (code2 === AbortCodes.ACCOUNT_DISABLED && (password != null && password !== "")) {
|
|
Dispatcher.dispatch({
|
|
type: "LOGIN_ACCOUNT_DISABLED",
|
|
credentials: {
|
|
login: login2,
|
|
password
|
|
}
|
|
});
|
|
} else if (code2 === AbortCodes.PHONE_VERIFICATION_REQUIRED) {
|
|
Dispatcher.dispatch({
|
|
type: "LOGIN_PHONE_IP_AUTHORIZATION_REQUIRED",
|
|
credentials: {
|
|
login: login2,
|
|
password
|
|
}
|
|
});
|
|
} else {
|
|
Dispatcher.dispatch({
|
|
type: "LOGIN_FAILURE",
|
|
error: v6OrEarlierAPIError
|
|
});
|
|
}
|
|
throw v6OrEarlierAPIError;
|
|
});
|
|
},
|
|
loginMFAv2: function loginMFAv2(a0) {
|
|
const { code: code2, ticket: ticket3, source: source4, giftCodeSKUId: giftCodeSKUId2, isMultiAccount: isMultiAccount2, mfaType } = a0;
|
|
let loginInstanceId = a0.loginInstanceId;
|
|
const r21 = {
|
|
url: Endpoints.LOGIN_MFA(mfaType),
|
|
body: null,
|
|
retries: 2,
|
|
oldFormErrors: true,
|
|
trackedActionData: null,
|
|
rejectWithError: true
|
|
};
|
|
if (loginInstanceId == null) {
|
|
loginInstanceId = AuthenticationStore.getLoginInstanceId();
|
|
}
|
|
r21.body = {
|
|
code: code2,
|
|
ticket: ticket3,
|
|
login_source: source4,
|
|
gift_code_sku_id: giftCodeSKUId2,
|
|
login_instance_id: loginInstanceId
|
|
};
|
|
r21.trackedActionData = {
|
|
event: NetworkActionNames.USER_LOGIN_MFA
|
|
};
|
|
return TrackedHTTPUtils.post(r21).then((result) => {
|
|
if (isMultiAccount2) {
|
|
this.switchAccountToken(result.body.token);
|
|
} else {
|
|
Dispatcher.dispatch({
|
|
type: "LOGIN_SUCCESS",
|
|
token: result.body.token
|
|
});
|
|
}
|
|
}).catch((error) => {
|
|
if (error.body != null && error.body.suspended_user_token != null) {
|
|
Dispatcher.dispatch({
|
|
type: "LOGIN_SUSPENDED_USER",
|
|
suspendedUserToken: error.body.suspended_user_token
|
|
});
|
|
return void 0;
|
|
}
|
|
if (error.body?.code === AbortCodes.MFA_INVALID_CODE) {
|
|
throw new Error(error.body.message);
|
|
}
|
|
throw error;
|
|
});
|
|
},
|
|
authenticatePasswordless: async function authenticatePasswordless({ authenticateFunc, conditionalMediationAbortController, source, giftCodeSKUId, isMultiAccount: isMultiAccount3 }) {
|
|
const _this = this;
|
|
let c25514_2;
|
|
let c25514_3 = 0;
|
|
let c29535_0, c29535_1, c29535_2, c29535_3, c29535_5, c29535_4;
|
|
try {
|
|
c29535_0 = void 0;
|
|
c29535_1 = void 0;
|
|
c29535_2 = void 0;
|
|
c29535_3 = void 0;
|
|
if (conditionalMediationAbortController != null) {
|
|
conditionalMediationAbortController.abort("Starting non-conditional mediation");
|
|
}
|
|
Dispatcher.dispatch({
|
|
type: "PASSWORDLESS_START"
|
|
});
|
|
c25514_3 = 1;
|
|
c29535_0 = await fetchWebAuthnPasswordlessChallenge();
|
|
c29535_1 = c29535_0.challenge;
|
|
c29535_2 = c29535_0.ticket;
|
|
c29535_3 = await (0, authenticateFunc)(c29535_1);
|
|
c25514_3 = 2;
|
|
await _this.loginWebAuthn({
|
|
ticket: c29535_2,
|
|
credential: c29535_3,
|
|
source,
|
|
giftCodeSKUId,
|
|
isMultiAccount: isMultiAccount3
|
|
});
|
|
c25514_3 = 0;
|
|
} catch ($e) {
|
|
const r38 = $e;
|
|
let r8 = r38;
|
|
c25514_2 = r38;
|
|
let r39 = c25514_3;
|
|
if (r39 !== 0) {
|
|
while (true) {
|
|
if (r39 === 1) {
|
|
try {
|
|
const r204 = c25514_2;
|
|
c25514_3 = 0;
|
|
c29535_5 = r204;
|
|
Dispatcher.dispatch({
|
|
type: "PASSWORDLESS_FAILURE",
|
|
error: c29535_5
|
|
});
|
|
throw c29535_5;
|
|
} catch (r201) {
|
|
r8 = r201;
|
|
c25514_2 = r201;
|
|
r39 = c25514_3;
|
|
if (r39 === 0) {
|
|
break;
|
|
}
|
|
}
|
|
} else {
|
|
try {
|
|
const r146 = c25514_2;
|
|
c25514_3 = 1;
|
|
c29535_4 = r146;
|
|
if (c29535_4 instanceof APIError && c29535_4.status != null && c29535_4.status >= 400 && c29535_4.status < 500) {
|
|
await SignalHelpers_native.signalUnknownCredential(c29535_3);
|
|
}
|
|
throw c29535_4;
|
|
} catch (r143) {
|
|
r8 = r143;
|
|
c25514_2 = r143;
|
|
r39 = c25514_3;
|
|
if (r39 === 0) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
throw r8;
|
|
}
|
|
},
|
|
loginWebAuthn: function loginWebAuthn({ ticket: ticket3, credential, source: source4, giftCodeSKUId: giftCodeSKUId2, isMultiAccount: isMultiAccount4 }) {
|
|
return TrackedHTTPUtils.post({
|
|
url: Endpoints.WEBAUTHN_CONDITIONAL_UI_LOGIN,
|
|
body: {
|
|
credential,
|
|
ticket: ticket3,
|
|
source: source4,
|
|
giftCodeSKUId: giftCodeSKUId2
|
|
},
|
|
retries: 1,
|
|
trackedActionData: {
|
|
event: NetworkActionNames.USER_LOGIN_PASSWORDLESS
|
|
},
|
|
rejectWithError: true
|
|
}).then(({ body }) => {
|
|
const token6 = body.token;
|
|
Dispatcher.dispatch({
|
|
type: "LOGIN_ATTEMPTED",
|
|
user_id: body.user_id,
|
|
required_actions: body.required_actions
|
|
});
|
|
if (isMultiAccount4) {
|
|
this.switchAccountToken(token6);
|
|
} else {
|
|
Dispatcher.dispatch({
|
|
type: "LOGIN_SUCCESS",
|
|
token: token6
|
|
});
|
|
}
|
|
}).catch((error) => {
|
|
const r1 = error instanceof HTTPResponseError;
|
|
let r12 = error;
|
|
if (r1) {
|
|
if (error.body.suspended_user_token != null) {
|
|
Dispatcher.dispatch({
|
|
type: "LOGIN_SUSPENDED_USER",
|
|
suspendedUserToken: error.body.suspended_user_token
|
|
});
|
|
return void 0;
|
|
}
|
|
r12 = new APIError(error);
|
|
}
|
|
throw r12;
|
|
});
|
|
},
|
|
loginToken: function loginToken(token2, r4 = true) {
|
|
let c14964_0 = r4;
|
|
Dispatcher.dispatch({
|
|
type: "LOGIN"
|
|
});
|
|
return new Promise((c25515_0) => {
|
|
setImmediate(() => {
|
|
Dispatcher.dispatch({
|
|
type: "LOGIN_SUCCESS",
|
|
token: token2
|
|
});
|
|
if (c14964_0) {
|
|
this.startSession(token2);
|
|
}
|
|
c25515_0();
|
|
});
|
|
});
|
|
},
|
|
oneTimeLogin: async function oneTimeLogin(ticket) {
|
|
let r110;
|
|
const _this2 = this;
|
|
let c25516_2;
|
|
let c25516_3 = 0;
|
|
let c29536_0, c29536_1;
|
|
try {
|
|
c29536_0 = void 0;
|
|
Dispatcher.dispatch({
|
|
type: "LOGIN"
|
|
});
|
|
c25516_3 = 1;
|
|
c29536_0 = (await TrackedHTTPUtils.post({
|
|
url: Endpoints.ONE_TIME_LOGIN,
|
|
body: {
|
|
ticket
|
|
},
|
|
oldFormErrors: true,
|
|
trackedActionData: {
|
|
event: NetworkActionNames.USER_ONE_TIME_LOGIN
|
|
},
|
|
rejectWithError: true
|
|
})).body.token;
|
|
if (!c29536_0) {
|
|
throw new Error("No token in response");
|
|
}
|
|
await _this2.loginToken(c29536_0, false);
|
|
r110 = c29536_0;
|
|
c25516_3 = 0;
|
|
} catch ($e) {
|
|
const r34 = $e;
|
|
let r8 = r34;
|
|
c25516_2 = r34;
|
|
if (c25516_3 !== 0) {
|
|
while (true) {
|
|
try {
|
|
const r119 = c25516_2;
|
|
c25516_3 = 0;
|
|
c29536_1 = r119;
|
|
Dispatcher.dispatch({
|
|
type: "LOGIN_FAILURE",
|
|
error: new V6OrEarlierAPIError(c29536_1)
|
|
});
|
|
throw c29536_1;
|
|
} catch (r115) {
|
|
r8 = r115;
|
|
c25516_2 = r115;
|
|
if (c25516_3 === 0) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
throw r8;
|
|
}
|
|
return r110;
|
|
},
|
|
loginReset: (a0) => {
|
|
Dispatcher.dispatch({
|
|
type: "LOGIN_RESET",
|
|
isMultiAccount: a0
|
|
});
|
|
},
|
|
loginStatusReset: () => {
|
|
Dispatcher.dispatch({
|
|
type: "LOGIN_STATUS_RESET"
|
|
});
|
|
},
|
|
logoutInternal: (a0) => {
|
|
CrossPlatformNativeUtils_native.clearNavigationHistory();
|
|
Dispatcher.dispatch({
|
|
type: "LOGOUT",
|
|
...a0
|
|
}).catch($mk76574());
|
|
},
|
|
logout: function logout(a0) {
|
|
let r3 = arguments[1];
|
|
if (r3 === void 0) {
|
|
r3 = Routes.DEFAULT_LOGGED_OUT;
|
|
}
|
|
const DEFAULT_LOGGED_OUT = r3;
|
|
const r11 = arguments[2];
|
|
let c14966_2 = r11;
|
|
const r21 = {
|
|
url: Endpoints.LOGOUT,
|
|
body: {
|
|
provider: getDevicePushProvider(),
|
|
token: Storage.get(DEVICE_TOKEN),
|
|
voip_provider: DEVICE_PUSH_VOIP_PROVIDER,
|
|
voip_token: Storage.get(DEVICE_VOIP_TOKEN)
|
|
},
|
|
oldFormErrors: true,
|
|
trackedActionData: {
|
|
event: NetworkActionNames.USER_LOGOUT,
|
|
properties: {
|
|
logout_source: a0
|
|
}
|
|
}
|
|
};
|
|
let r41 = r11 != null;
|
|
if (r41) {
|
|
let authorization = getToken(r11);
|
|
if (authorization == null) {
|
|
authorization = "";
|
|
}
|
|
r41 = {
|
|
headers: {
|
|
authorization
|
|
}
|
|
};
|
|
}
|
|
HermesBuiltin.copyDataProperties(r21, r41);
|
|
r21.rejectWithError = rejectWithMigratedError();
|
|
return TrackedHTTPUtils.post(r21).finally(() => {
|
|
if (!(c14966_2 != null && c14966_2 !== AuthenticationStore.getId())) {
|
|
handleLogout(a0, DEFAULT_LOGGED_OUT);
|
|
}
|
|
});
|
|
},
|
|
switchAccountToken: function switchAccountToken(a0) {
|
|
let goHomeAfterSwitching = arguments[1];
|
|
if (goHomeAfterSwitching === void 0) {
|
|
goHomeAfterSwitching = true;
|
|
}
|
|
const token6 = AuthenticationStore.getToken();
|
|
c3481_16.log("Switching accounts", {
|
|
wasLoggedIn: token6 != null,
|
|
tokenHasChanged: a0 !== token6
|
|
});
|
|
const r19 = {
|
|
isSwitchingAccount: true,
|
|
goHomeAfterSwitching
|
|
};
|
|
CrossPlatformNativeUtils_native.clearNavigationHistory();
|
|
Dispatcher.dispatch({
|
|
type: "LOGOUT",
|
|
...r19
|
|
}).catch($mk76574());
|
|
return this.loginToken(a0, true).then(() => {
|
|
const isCorrectToken = a0 === AuthenticationStore.getToken();
|
|
c3481_16.log("Switched accounts finished", {
|
|
isCorrectToken
|
|
});
|
|
return isCorrectToken;
|
|
});
|
|
},
|
|
verifySSOToken: function verifySSOToken(c14968_0, r6 = Routes.DEFAULT_LOGGED_OUT) {
|
|
const DEFAULT_LOGGED_OUT2 = r6;
|
|
return HTTP.get({
|
|
url: Endpoints.ME,
|
|
oldFormErrors: true,
|
|
rejectWithError: true
|
|
}).catch(() => {
|
|
handleLogout(c14968_0, DEFAULT_LOGGED_OUT2);
|
|
});
|
|
},
|
|
verify: async (token3) => {
|
|
let c25517_1;
|
|
c25517_1 = void 0;
|
|
let c29537_0 = await TrackedHTTPUtils.post({
|
|
url: Endpoints.VERIFY,
|
|
body: {
|
|
token: token3
|
|
},
|
|
trackedActionData: {
|
|
event: NetworkActionNames.USER_VERIFY
|
|
},
|
|
rejectWithError: rejectWithMigratedError()
|
|
});
|
|
Dispatcher.dispatch({
|
|
type: "LOGIN_SUCCESS",
|
|
token: c29537_0.body.token
|
|
});
|
|
return c29537_0.body.user_id;
|
|
},
|
|
authorizePayment: (a0) => TrackedHTTPUtils.post({
|
|
url: Endpoints.AUTHORIZE_PAYMENT,
|
|
body: {
|
|
token: a0
|
|
},
|
|
trackedActionData: {
|
|
event: NetworkActionNames.AUTHORIZE_PAYMENT
|
|
},
|
|
rejectWithError: true
|
|
}),
|
|
authorizeIPAddress: (a0) => TrackedHTTPUtils.post({
|
|
url: Endpoints.AUTHORIZE_IP,
|
|
body: {
|
|
token: a0
|
|
},
|
|
trackedActionData: {
|
|
event: NetworkActionNames.AUTHORIZE_IP
|
|
},
|
|
rejectWithError: true
|
|
}),
|
|
verifyResend: () => TrackedHTTPUtils.post({
|
|
url: Endpoints.VERIFY_RESEND,
|
|
oldFormErrors: true,
|
|
trackedActionData: {
|
|
event: NetworkActionNames.USER_VERIFY_RESEND
|
|
},
|
|
rejectWithError: rejectWithMigratedError()
|
|
}),
|
|
resetPassword: async (token4, password2, source2) => {
|
|
let r119;
|
|
let c25518_2;
|
|
let c25518_3 = 0;
|
|
let c29538_0, c29538_1, c29538_2, c29538_3, c29538_4, c29538_5, c29538_6, c29538_7, c29538_8, c29538_9;
|
|
try {
|
|
c29538_0 = void 0;
|
|
c29538_1 = void 0;
|
|
c29538_2 = void 0;
|
|
c29538_3 = void 0;
|
|
c29538_4 = void 0;
|
|
c29538_5 = void 0;
|
|
c29538_6 = void 0;
|
|
c29538_7 = void 0;
|
|
c29538_8 = void 0;
|
|
Dispatcher.dispatch({
|
|
type: "LOGIN"
|
|
});
|
|
const body = {
|
|
token: token4,
|
|
password: password2,
|
|
source: source2
|
|
};
|
|
const push_token = Storage.get(DEVICE_TOKEN);
|
|
const devicePushProvider = getDevicePushProvider();
|
|
if (devicePushProvider != null && push_token != null) {
|
|
body.push_provider = devicePushProvider;
|
|
body.push_token = push_token;
|
|
}
|
|
const push_voip_token = Storage.get(DEVICE_VOIP_TOKEN);
|
|
if (DEVICE_PUSH_VOIP_PROVIDER != null && push_voip_token != null) {
|
|
body.push_voip_provider = DEVICE_PUSH_VOIP_PROVIDER;
|
|
body.push_voip_token = push_voip_token;
|
|
}
|
|
c25518_3 = 1;
|
|
c29538_0 = (await TrackedHTTPUtils.post({
|
|
url: Endpoints.RESET_PASSWORD,
|
|
body,
|
|
oldFormErrors: true,
|
|
trackedActionData: {
|
|
event: NetworkActionNames.USER_RESET_PASSWORD
|
|
},
|
|
rejectWithError: rejectWithMigratedError()
|
|
})).body;
|
|
c29538_1 = c29538_0.mfa;
|
|
c29538_2 = c29538_0.sms;
|
|
c29538_3 = c29538_0.webauthn;
|
|
c29538_4 = c29538_0.ticket;
|
|
c29538_5 = c29538_0.token;
|
|
c29538_6 = c29538_0.backup;
|
|
c29538_7 = c29538_0.totp;
|
|
const r113 = c29538_1;
|
|
r119 = {
|
|
result: r113 ? c3481_18.MFA : c3481_18.SUCCESS,
|
|
sms: c29538_2,
|
|
webauthn: c29538_3,
|
|
ticket: c29538_4,
|
|
token: c29538_5,
|
|
backup: c29538_6,
|
|
totp: c29538_7
|
|
};
|
|
c25518_3 = 0;
|
|
} catch ($e) {
|
|
const r28 = $e;
|
|
let r8 = r28;
|
|
c25518_2 = r28;
|
|
if (c25518_3 !== 0) {
|
|
while (true) {
|
|
try {
|
|
const r134 = c25518_2;
|
|
c25518_3 = 0;
|
|
c29538_9 = r134;
|
|
c29538_8 = new V6OrEarlierAPIError(c29538_9);
|
|
Dispatcher.dispatch({
|
|
type: "LOGIN_FAILURE",
|
|
error: c29538_8
|
|
});
|
|
throw c29538_8;
|
|
} catch (r130) {
|
|
r8 = r130;
|
|
c25518_2 = r130;
|
|
if (c25518_3 === 0) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
throw r8;
|
|
}
|
|
return r119;
|
|
},
|
|
resetPasswordMFAv2: async ({ method, code, ticket: ticket2, password: password3, token: token5, source: source3 }) => {
|
|
Dispatcher.dispatch({
|
|
type: "LOGIN_MFA"
|
|
});
|
|
return (await TrackedHTTPUtils.post({
|
|
url: Endpoints.RESET_PASSWORD,
|
|
body: {
|
|
code,
|
|
ticket: ticket2,
|
|
password: password3,
|
|
token: token5,
|
|
source: source3,
|
|
method
|
|
},
|
|
oldFormErrors: true,
|
|
trackedActionData: {
|
|
event: NetworkActionNames.USER_RESET_PASSWORD,
|
|
properties: {
|
|
mfa: true
|
|
}
|
|
},
|
|
rejectWithError: true
|
|
})).body.token;
|
|
},
|
|
forgotPassword: async (login3) => {
|
|
let method2;
|
|
let c25520_2;
|
|
let c25520_3 = 0;
|
|
let c29539_0, c29539_1, c29539_2;
|
|
try {
|
|
c29539_0 = void 0;
|
|
c29539_1 = void 0;
|
|
Dispatcher.dispatch({
|
|
type: "FORGOT_PASSWORD_REQUEST"
|
|
});
|
|
c25520_3 = 1;
|
|
c29539_0 = await TrackedHTTPUtils.post({
|
|
url: Endpoints.FORGOT_PASSWORD,
|
|
body: {
|
|
login: login3
|
|
},
|
|
oldFormErrors: true,
|
|
trackedActionData: {
|
|
event: NetworkActionNames.FORGOT_PASSWORD
|
|
},
|
|
rejectWithError: rejectWithMigratedError()
|
|
});
|
|
Dispatcher.dispatch({
|
|
type: "FORGOT_PASSWORD_SENT"
|
|
});
|
|
method2 = c29539_0.body.method;
|
|
c25520_3 = 0;
|
|
} catch ($e) {
|
|
const r27 = $e;
|
|
let r8 = r27;
|
|
c25520_2 = r27;
|
|
if (c25520_3 !== 0) {
|
|
while (true) {
|
|
try {
|
|
const r93 = c25520_2;
|
|
c25520_3 = 0;
|
|
c29539_2 = r93;
|
|
c29539_1 = new V6OrEarlierAPIError(c29539_2);
|
|
if (c29539_1.code !== AbortCodes.PHONE_VERIFICATION_REQUIRED) {
|
|
Dispatcher.dispatch({
|
|
type: "LOGIN_FAILURE",
|
|
error: c29539_1
|
|
});
|
|
throw c29539_1;
|
|
}
|
|
Dispatcher.dispatch({
|
|
type: "LOGIN_PASSWORD_RECOVERY_PHONE_VERIFICATION",
|
|
credentials: {
|
|
login: login3
|
|
}
|
|
});
|
|
} catch (r89) {
|
|
r8 = r89;
|
|
c25520_2 = r89;
|
|
if (c25520_3 === 0) {
|
|
break;
|
|
}
|
|
continue;
|
|
}
|
|
return false;
|
|
}
|
|
}
|
|
throw r8;
|
|
}
|
|
return method2;
|
|
},
|
|
setFingerprint: (a0) => {
|
|
Dispatcher.dispatch({
|
|
type: "FINGERPRINT",
|
|
fingerprint: a0
|
|
});
|
|
},
|
|
getExperiments: (a0) => {
|
|
Dispatcher.dispatch({
|
|
type: "EXPERIMENTS_FETCH",
|
|
withGuildExperiments: a0
|
|
});
|
|
},
|
|
getLocationMetadata: () => {
|
|
let r25;
|
|
if (c3481_17 != null) {
|
|
r25 = c3481_17;
|
|
} else {
|
|
clearTimeout(c3481_4);
|
|
c3481_4 = setTimeout(() => {
|
|
Dispatcher.dispatch({
|
|
type: "SET_CONSENT_REQUIRED",
|
|
consentRequired: true
|
|
});
|
|
}, 5000);
|
|
r25 = HTTP.get({
|
|
url: Endpoints.AUTH_LOCATION_METADATA,
|
|
retries: 2,
|
|
oldFormErrors: true,
|
|
rejectWithError: true
|
|
}).then((result) => {
|
|
clearTimeout(c3481_4);
|
|
if (ConsentStore.getAuthenticationConsentRequired() == null) {
|
|
let consentRequired = result == null ? void 0 : result.body?.consent_required;
|
|
if (consentRequired == null) {
|
|
consentRequired = true;
|
|
}
|
|
Dispatcher.dispatch({
|
|
type: "SET_CONSENT_REQUIRED",
|
|
consentRequired
|
|
});
|
|
}
|
|
let countryCode = result == null ? void 0 : result.body?.country_code;
|
|
if (countryCode == null) {
|
|
countryCode = void 0;
|
|
}
|
|
Dispatcher.dispatch({
|
|
type: "SET_LOCATION_METADATA",
|
|
countryCode
|
|
});
|
|
c3481_17 = null;
|
|
if ((result == null ? void 0 : result.body?.promotional_email_opt_in) != null) {
|
|
const promotional_email_opt_in = result.body.promotional_email_opt_in;
|
|
setPromoEmailConsentState({
|
|
required: promotional_email_opt_in.required,
|
|
checked: promotional_email_opt_in.pre_checked,
|
|
preChecked: promotional_email_opt_in.pre_checked
|
|
});
|
|
}
|
|
}, () => {
|
|
clearTimeout(c3481_4);
|
|
Dispatcher.dispatch({
|
|
type: "SET_CONSENT_REQUIRED",
|
|
consentRequired: true
|
|
});
|
|
c3481_17 = null;
|
|
});
|
|
c3481_17 = r25;
|
|
}
|
|
return r25;
|
|
},
|
|
closeSuspendedUser: () => {
|
|
Dispatcher.dispatch({
|
|
type: "CLOSE_SUSPENDED_USER"
|
|
});
|
|
}
|
|
};
|
|
export default r48;
|
|
export { c3481_18 as PasswordResetResult };
|