@@ -11,7 +11,7 @@ public class Web3AuthSample : MonoBehaviour
11
11
List < LoginVerifier > verifierList = new List < LoginVerifier > {
12
12
new LoginVerifier ( "Google" , Provider . GOOGLE ) ,
13
13
new LoginVerifier ( "Facebook" , Provider . FACEBOOK ) ,
14
- new LoginVerifier ( "CUSTOM_VERIFIER" , Provider . CUSTOM_VERIFIER ) ,
14
+ // new LoginVerifier("CUSTOM_VERIFIER", Provider.CUSTOM_VERIFIER),
15
15
new LoginVerifier ( "Twitch" , Provider . TWITCH ) ,
16
16
new LoginVerifier ( "Discord" , Provider . DISCORD ) ,
17
17
new LoginVerifier ( "Reddit" , Provider . REDDIT ) ,
@@ -20,7 +20,9 @@ public class Web3AuthSample : MonoBehaviour
20
20
new LoginVerifier ( "LinkedIn" , Provider . LINKEDIN ) ,
21
21
new LoginVerifier ( "Twitter" , Provider . TWITTER ) ,
22
22
new LoginVerifier ( "Line" , Provider . LINE ) ,
23
- new LoginVerifier ( "Hosted Email Passwordless" , Provider . EMAIL_PASSWORDLESS ) ,
23
+ new LoginVerifier ( "Email Passwordless" , Provider . EMAIL_PASSWORDLESS ) ,
24
+ new LoginVerifier ( "SMS Passwordless" , Provider . SMS_PASSWORDLESS ) ,
25
+ new LoginVerifier ( "Farcaster" , Provider . FARCASTER ) ,
24
26
} ;
25
27
26
28
Web3Auth web3Auth ;
@@ -40,6 +42,12 @@ public class Web3AuthSample : MonoBehaviour
40
42
[ SerializeField ]
41
43
Button logoutButton ;
42
44
45
+ [ SerializeField ]
46
+ Button mfaSetupButton ;
47
+
48
+ [ SerializeField ]
49
+ Button launchWalletServicesButton ;
50
+
43
51
void Start ( )
44
52
{
45
53
var loginConfigItem = new LoginConfigItem ( )
@@ -61,7 +69,7 @@ void Start()
61
69
mode = ThemeModes . dark ,
62
70
theme = new Dictionary < string , string >
63
71
{
64
- { "primary" , "#123456 " }
72
+ { "primary" , "#FFBF00 " }
65
73
}
66
74
} ,
67
75
// If using your own custom verifier, uncomment this code.
@@ -73,19 +81,24 @@ void Start()
73
81
}
74
82
*/
75
83
clientId = "BPi5PB_UiIZ-cPz1GtV5i1I2iOSOHuimiXBI0e-Oe_u6X3oVAbCiAZOTEBtTXw4tsluTITPqA8zMsfxIKMjiqNQ" ,
76
- buildEnv = BuildEnv . TESTING ,
84
+ buildEnv = BuildEnv . PRODUCTION ,
77
85
redirectUrl = new Uri ( "torusapp://com.torus.Web3AuthUnity/auth" ) ,
78
86
network = Web3Auth . Network . SAPPHIRE_MAINNET ,
79
87
sessionTime = 86400
80
88
} ) ;
81
89
web3Auth . onLogin += onLogin ;
82
90
web3Auth . onLogout += onLogout ;
91
+ web3Auth . onMFASetup += onMFASetup ;
83
92
84
93
emailAddressField . gameObject . SetActive ( false ) ;
85
94
logoutButton . gameObject . SetActive ( false ) ;
95
+ mfaSetupButton . gameObject . SetActive ( false ) ;
96
+ launchWalletServicesButton . gameObject . SetActive ( false ) ;
86
97
87
98
loginButton . onClick . AddListener ( login ) ;
88
99
logoutButton . onClick . AddListener ( logout ) ;
100
+ mfaSetupButton . onClick . AddListener ( enableMFA ) ;
101
+ launchWalletServicesButton . onClick . AddListener ( launchWalletServices ) ;
89
102
90
103
verifierDropdown . AddOptions ( verifierList . Select ( x => x . name ) . ToList ( ) ) ;
91
104
verifierDropdown . onValueChanged . AddListener ( onVerifierDropDownChange ) ;
@@ -101,17 +114,25 @@ private void onLogin(Web3AuthResponse response)
101
114
verifierDropdown . gameObject . SetActive ( false ) ;
102
115
emailAddressField . gameObject . SetActive ( false ) ;
103
116
logoutButton . gameObject . SetActive ( true ) ;
117
+ mfaSetupButton . gameObject . SetActive ( true ) ;
118
+ launchWalletServicesButton . gameObject . SetActive ( true ) ;
104
119
}
105
120
106
121
private void onLogout ( )
107
122
{
108
123
loginButton . gameObject . SetActive ( true ) ;
109
124
verifierDropdown . gameObject . SetActive ( true ) ;
110
125
logoutButton . gameObject . SetActive ( false ) ;
126
+ mfaSetupButton . gameObject . SetActive ( false ) ;
127
+ launchWalletServicesButton . gameObject . SetActive ( false ) ;
111
128
112
129
loginResponseText . text = "" ;
113
130
}
114
131
132
+ private void onMFASetup ( bool response ) {
133
+ Debug . Log ( "MFA Setup: " + response ) ;
134
+ }
135
+
115
136
116
137
private void onVerifierDropDownChange ( int selectedIndex )
117
138
{
@@ -137,6 +158,13 @@ private void login()
137
158
login_hint = emailAddressField . text
138
159
} ;
139
160
}
161
+ if ( selectedProvider == Provider . SMS_PASSWORDLESS )
162
+ {
163
+ options . extraLoginOptions = new ExtraLoginOptions ( )
164
+ {
165
+ login_hint = "+XX-XXXXXXXXXX"
166
+ } ;
167
+ }
140
168
141
169
web3Auth . login ( options ) ;
142
170
}
@@ -145,4 +173,37 @@ private void logout()
145
173
{
146
174
web3Auth . logout ( ) ;
147
175
}
176
+
177
+ private void enableMFA ( )
178
+ {
179
+ var selectedProvider = verifierList [ verifierDropdown . value ] . loginProvider ;
180
+
181
+ var options = new LoginParams ( )
182
+ {
183
+ loginProvider = selectedProvider ,
184
+ mfaLevel = MFALevel . MANDATORY
185
+ } ;
186
+
187
+ if ( selectedProvider == Provider . EMAIL_PASSWORDLESS )
188
+ {
189
+ options . extraLoginOptions = new ExtraLoginOptions ( )
190
+ {
191
+ login_hint = emailAddressField . text
192
+ } ;
193
+ }
194
+ web3Auth . enableMFA ( options ) ;
195
+ }
196
+
197
+ private void launchWalletServices ( ) {
198
+ var selectedProvider = verifierList [ verifierDropdown . value ] . loginProvider ;
199
+
200
+ var chainConfig = new ChainConfig ( )
201
+ {
202
+ chainId = "0x1" ,
203
+ rpcTarget = "https://mainnet.infura.io/v3/daeee53504be4cd3a997d4f2718d33e0" ,
204
+ ticker = "ETH" ,
205
+ chainNamespace = Web3Auth . ChainNamespace . EIP155
206
+ } ;
207
+ web3Auth . launchWalletServices ( chainConfig ) ;
208
+ }
148
209
}
0 commit comments