Skip to content

Commit e0ca680

Browse files
Merge pull request #2448 from Web3Auth/fix/vue-new-app-demo
fix: authConnectionId overwrites in vue-app-new demo
2 parents e68af06 + 7fdbdee commit e0ca680

File tree

1 file changed

+41
-14
lines changed

1 file changed

+41
-14
lines changed

demo/vue-app-new/src/MainView.vue

Lines changed: 41 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,16 @@ import { WagmiProvider } from "@web3auth/modal/vue/wagmi";
2020
import { coinbaseConnector } from "@web3auth/no-modal/connectors/coinbase-connector";
2121
import { computed, onBeforeMount, ref, watch } from "vue";
2222
23-
import { BUILD_ENV, CookieStorage, LocalStorageAdapter, MemoryStorage, SessionStorageAdapter, type BUILD_ENV_TYPE, type StorageConfig } from "@web3auth/auth";
23+
import {
24+
BUILD_ENV,
25+
CookieStorage,
26+
LocalStorageAdapter,
27+
MemoryStorage,
28+
SessionStorageAdapter,
29+
WEB3AUTH_NETWORK,
30+
type BUILD_ENV_TYPE,
31+
type StorageConfig,
32+
} from "@web3auth/auth";
2433
import AppDashboard from "./components/AppDashboard.vue";
2534
import AppHeader from "./components/AppHeader.vue";
2635
import AppSettings from "./components/AppSettings.vue";
@@ -34,14 +43,10 @@ const formData = formDataStore;
3443
3544
const externalConnectors = ref<ConnectorFn[]>([]);
3645
const buildEnvValues = new Set<BUILD_ENV_TYPE>(Object.values(BUILD_ENV));
37-
38-
function resolveAuthBuildEnv(): BUILD_ENV_TYPE {
39-
const envValue = import.meta.env.VITE_APP_AUTH_BUILD_ENV;
40-
if (envValue && buildEnvValues.has(envValue as BUILD_ENV_TYPE)) {
41-
return envValue as BUILD_ENV_TYPE;
42-
}
43-
44-
return import.meta.env.DEV ? BUILD_ENV.TESTING : BUILD_ENV.PRODUCTION;
46+
const envValue = import.meta.env.VITE_APP_AUTH_BUILD_ENV;
47+
let authBuildEnv: BUILD_ENV_TYPE = import.meta.env.DEV ? BUILD_ENV.TESTING : BUILD_ENV.PRODUCTION;
48+
if (envValue && buildEnvValues.has(envValue as BUILD_ENV_TYPE)) {
49+
authBuildEnv = envValue as BUILD_ENV_TYPE;
4550
}
4651
4752
function buildStorageConfig(): StorageConfig | undefined {
@@ -152,7 +157,7 @@ const options = computed((): Web3AuthOptions => {
152157
chains,
153158
defaultChainId: formData.defaultChainId,
154159
enableLogging: true,
155-
authBuildEnv: resolveAuthBuildEnv(),
160+
authBuildEnv,
156161
connectors: [...externalConnectors.value, authConnectorInstance],
157162
plugins,
158163
multiInjectedProviderDiscovery: formData.multiInjectedProviderDiscovery,
@@ -165,13 +170,33 @@ const options = computed((): Web3AuthOptions => {
165170
};
166171
});
167172
173+
// Note: authConnectionId may varies based on the project config and web3auth client id.
174+
// The following function return the authConnectionId relevant to the AuthBuildEnv and `clientIds` Map from `config.ts`
175+
// we may need to change the values every time we change the web3auth client id or build environment.
176+
const getAuthConnectionIds = (authConnectionStr: string): { authConnectionId: string; groupedAuthConnectionId?: string } => {
177+
if (formData.network === WEB3AUTH_NETWORK.SAPPHIRE_MAINNET) {
178+
return {
179+
authConnectionId: "web3auth",
180+
groupedAuthConnectionId: `web3auth-auth0-${authConnectionStr}-passwordless-sapphire`,
181+
};
182+
}
183+
return {
184+
authConnectionId: `w3a-custom-${authConnectionStr}-${formData.network.replace("_", "-")}`,
185+
};
186+
};
187+
168188
const loginMethodsConfig = computed(() => {
189+
const { authConnectionId: customEmailAuthConnectionId, groupedAuthConnectionId: customEmailGroupedAuthConnectionId } =
190+
getAuthConnectionIds("email");
191+
const { authConnectionId: customSmsAuthConnectionId, groupedAuthConnectionId: customSmsGroupedAuthConnectionId } = getAuthConnectionIds("sms");
169192
const customConfig = {
170193
email_passwordless: {
171-
authConnectionId: `w3a-custom-email-${formData.network.replace("_", "-")}`,
194+
authConnectionId: customEmailAuthConnectionId,
195+
groupedAuthConnectionId: customEmailGroupedAuthConnectionId,
172196
},
173197
sms_passwordless: {
174-
authConnectionId: `w3a-custom-sms-${formData.network.replace("_", "-")}`,
198+
authConnectionId: customSmsAuthConnectionId,
199+
groupedAuthConnectionId: customSmsGroupedAuthConnectionId,
175200
},
176201
};
177202
if (formData.loginProviders.length === 0) return customConfig;
@@ -183,10 +208,12 @@ const loginMethodsConfig = computed(() => {
183208
}, {} as LoginMethodConfig);
184209
185210
if (config.email_passwordless) {
186-
config.email_passwordless.authConnectionId = `w3a-custom-email-${formData.network.replace("_", "-")}`;
211+
config.email_passwordless.authConnectionId = customEmailAuthConnectionId;
212+
config.email_passwordless.groupedAuthConnectionId = customEmailGroupedAuthConnectionId;
187213
}
188214
if (config.sms_passwordless) {
189-
config.sms_passwordless.authConnectionId = `w3a-custom-sms-${formData.network.replace("_", "-")}`;
215+
config.sms_passwordless.authConnectionId = customSmsAuthConnectionId;
216+
config.sms_passwordless.groupedAuthConnectionId = customSmsGroupedAuthConnectionId;
190217
}
191218
192219
const loginMethods: LoginMethodConfig = JSON.parse(JSON.stringify(config));

0 commit comments

Comments
 (0)