@@ -285,32 +285,51 @@ private async void processRequest(string path, LoginParams loginParams = null)
285285 //Debug.Log("loginParams.redirectUrl: =>" + loginParams.redirectUrl);
286286 //Debug.Log("paramMap: =>" + JsonConvert.SerializeObject(this.initParams));
287287 var sessionId = KeyStoreManagerUtils . generateRandomSessionKey ( ) ;
288- if ( path == "manage_mfa" ) {
288+ //string _extraLoginOptions = JsonConvert.SerializeObject(extraLoginOptions);
289+ Dictionary < string , object > paramMap = new Dictionary < string , object > ( ) ;
290+ paramMap [ "options" ] = this . initParams ;
291+ paramMap [ "actionType" ] = path ;
292+
293+ if ( path == "manage_mfa" || path == "enable_mfa" ) {
294+ loginParams . dappUrl = this . initParams [ "redirectUrl" ] . ToString ( ) ;
289295 loginParams . redirectUrl = new Uri ( this . initParams [ "dashboardUrl" ] . ToString ( ) ) ;
290296 this . initParams [ "redirectUrl" ] = new Uri ( this . initParams [ "dashboardUrl" ] . ToString ( ) ) ;
291297 var loginIdObject = new Dictionary < string , string >
292298 {
293- { "loginId" , sessionId }
299+ { "loginId" , sessionId } ,
300+ { "platform" , "unity" }
294301 } ;
295302 string loginIdBase64 = Convert . ToBase64String ( Encoding . UTF8 . GetBytes ( JsonConvert . SerializeObject ( loginIdObject , Formatting . None ,
296303 new JsonSerializerSettings
297304 {
298305 NullValueHandling = NullValueHandling . Ignore
299306 } ) ) ) ;
300307 loginParams . appState = loginIdBase64 ;
301- }
302-
303- Dictionary < string , object > paramMap = new Dictionary < string , object > ( ) ;
304- paramMap [ "options" ] = this . initParams ;
305- paramMap [ "params" ] = loginParams == null ? ( object ) new Dictionary < string , object > ( ) : ( object ) loginParams ;
306- paramMap [ "actionType" ] = path ;
307-
308- if ( path == "enable_mfa" || path == "manage_mfa" )
309- {
308+ loginParams . mfaLevel = MFALevel . MANDATORY ;
309+ ExtraLoginOptions extraLoginOptions = new ExtraLoginOptions ( ) ;
310+ if ( loginParams ? . extraLoginOptions != null )
311+ {
312+ extraLoginOptions = loginParams . extraLoginOptions ;
313+ }
314+ else
315+ {
316+ extraLoginOptions = this . initParams [ "extraLoginOptions" ] as ExtraLoginOptions ;
317+ }
318+ if ( extraLoginOptions != null && web3AuthResponse ? . userInfo ? . verifierId != null )
319+ {
320+ extraLoginOptions . login_hint = web3AuthResponse . userInfo . verifierId ;
321+ }
322+ loginParams . extraLoginOptions = extraLoginOptions ;
323+ if ( Enum . TryParse ( web3AuthResponse . userInfo . typeOfLogin , true , out Provider provider ) )
324+ {
325+ loginParams . loginProvider = provider ;
326+ }
310327 string savedSessionId = KeyStoreManagerUtils . getPreferencesData ( KeyStoreManagerUtils . SESSION_ID ) ;
311328 paramMap [ "sessionId" ] = savedSessionId ;
312329 }
313330
331+ paramMap [ "params" ] = loginParams == null ? ( object ) new Dictionary < string , object > ( ) : ( object ) loginParams ;
332+
314333 //Debug.Log("paramMap: =>" + JsonConvert.SerializeObject(paramMap));
315334 string loginId = await createSession ( JsonConvert . SerializeObject ( paramMap , Formatting . None ,
316335 new JsonSerializerSettings
@@ -437,6 +456,10 @@ public void setResultUrl(Uri uri)
437456 Uri newUri = new Uri ( newUriString ) ;
438457 string b64Params = getQueryParamValue ( newUri , "b64Params" ) ;
439458 string decodedString = decodeBase64Params ( b64Params ) ;
459+ if ( decodedString . Contains ( "actionType" ) )
460+ {
461+ return ;
462+ }
440463 if ( isRequestResponse ) {
441464 try
442465 {
0 commit comments