@@ -427,7 +427,9 @@ public async Task<List<LinkedAccount>> LinkAccount(
427
427
IThirdwebBrowser browser = null ,
428
428
BigInteger ? chainId = null ,
429
429
string jwt = null ,
430
- string payload = null
430
+ string payload = null ,
431
+ string defaultSessionIdOverride = null ,
432
+ List < string > forceWalletIds = null
431
433
)
432
434
{
433
435
if ( ! await this . IsConnected ( ) . ConfigureAwait ( false ) )
@@ -496,11 +498,10 @@ public async Task<List<LinkedAccount>> LinkAccount(
496
498
serverRes = await ecosystemWallet . PreAuth_AuthEndpoint ( payload ) . ConfigureAwait ( false ) ;
497
499
break ;
498
500
case "Guest" :
499
- serverRes = await ecosystemWallet . PreAuth_Guest ( ) . ConfigureAwait ( false ) ;
501
+ serverRes = await ecosystemWallet . PreAuth_Guest ( defaultSessionIdOverride ) . ConfigureAwait ( false ) ;
500
502
break ;
501
503
case "SiweExternal" :
502
- // TODO: Allow enforcing wallet ids in linking flow?
503
- serverRes = await ecosystemWallet . PreAuth_SiweExternal ( isMobile ?? false , browserOpenAction , null , mobileRedirectScheme , browser ) . ConfigureAwait ( false ) ;
504
+ serverRes = await ecosystemWallet . PreAuth_SiweExternal ( isMobile ?? false , browserOpenAction , forceWalletIds , mobileRedirectScheme , browser ) . ConfigureAwait ( false ) ;
504
505
break ;
505
506
case "Google" :
506
507
case "Apple" :
@@ -827,7 +828,7 @@ public async Task<string> LoginWithBackend()
827
828
828
829
#region Guest
829
830
830
- private async Task < Server . VerifyResult > PreAuth_Guest ( )
831
+ private async Task < Server . VerifyResult > PreAuth_Guest ( string defaultSessionIdOverride = null )
831
832
{
832
833
var sessionData = this . EmbeddedWallet . GetSessionData ( ) ;
833
834
string sessionId ;
@@ -837,15 +838,15 @@ public async Task<string> LoginWithBackend()
837
838
}
838
839
else
839
840
{
840
- sessionId = Guid . NewGuid ( ) . ToString ( ) ;
841
+ sessionId = defaultSessionIdOverride ?? Guid . NewGuid ( ) . ToString ( ) ;
841
842
}
842
843
var serverRes = await this . EmbeddedWallet . SignInWithGuestAsync ( sessionId ) . ConfigureAwait ( false ) ;
843
844
return serverRes ;
844
845
}
845
846
846
- public async Task < string > LoginWithGuest ( )
847
+ public async Task < string > LoginWithGuest ( string defaultSessionIdOverride = null )
847
848
{
848
- var serverRes = await this . PreAuth_Guest ( ) . ConfigureAwait ( false ) ;
849
+ var serverRes = await this . PreAuth_Guest ( defaultSessionIdOverride ) . ConfigureAwait ( false ) ;
849
850
return await this . PostAuth ( serverRes ) . ConfigureAwait ( false ) ;
850
851
}
851
852
0 commit comments