@@ -20,7 +20,16 @@ import { WagmiProvider } from "@web3auth/modal/vue/wagmi";
2020import { coinbaseConnector } from " @web3auth/no-modal/connectors/coinbase-connector" ;
2121import { 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" ;
2433import AppDashboard from " ./components/AppDashboard.vue" ;
2534import AppHeader from " ./components/AppHeader.vue" ;
2635import AppSettings from " ./components/AppSettings.vue" ;
@@ -34,14 +43,10 @@ const formData = formDataStore;
3443
3544const externalConnectors = ref <ConnectorFn []>([]);
3645const 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
4752function 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+
168188const 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