@@ -388,6 +388,47 @@ public Task login_sid(string sessionId, bool fetchProfile = true, bool connectSo
388
388
return Task . CompletedTask ;
389
389
}
390
390
391
+ /// <summary>
392
+ /// Allows you to register an Amino account using a google account
393
+ /// </summary>
394
+ /// <param name="nickname"></param>
395
+ /// <param name="googleToken"></param>
396
+ /// <param name="password"></param>
397
+ /// <param name="deviceId"></param>
398
+ /// <returns></returns>
399
+ /// <exception cref="Exception"></exception>
400
+ public Task register_google ( string nickname , string googleToken , string password , string deviceId = null )
401
+ {
402
+ deviceId = deviceId == null ? helpers . generate_device_id ( ) : deviceId ;
403
+ RestClient client = new RestClient ( helpers . BaseUrl ) ;
404
+ RestRequest request = new RestRequest ( "/g/s/auth/login" ) ;
405
+ request . AddHeaders ( headers ) ;
406
+
407
+ Dictionary < string , object > data = new Dictionary < string , object > ( )
408
+ {
409
+ { "secret" , $ "12 { googleToken } " } ,
410
+ { "secret2" , $ "0 { password } " } ,
411
+ { "deviceID" , deviceId } ,
412
+ { "clientType" , 100 } ,
413
+ { "nickname" , nickname } ,
414
+ { "latitude" , 0 } ,
415
+ { "longitude" , 0 } ,
416
+ { "address" , null } ,
417
+ { "clientCallbackURL" , "narviiapp://relogin" } ,
418
+ { "timestamp" , helpers . GetTimestamp ( ) * 1000 } ,
419
+ } ;
420
+
421
+ request . AddJsonBody ( System . Text . Json . JsonSerializer . Serialize ( data ) ) ;
422
+ request . AddHeader ( "NDC-MSG-SIG" , helpers . generate_signiture ( System . Text . Json . JsonSerializer . Serialize ( data ) ) ) ;
423
+
424
+ var response = client . ExecutePost ( request ) ;
425
+ if ( ( int ) response . StatusCode != 200 ) { throw new Exception ( response . Content ) ; }
426
+ if ( debug ) { Trace . WriteLine ( response . Content ) ; }
427
+ return Task . CompletedTask ;
428
+ }
429
+
430
+
431
+
391
432
392
433
/// <summary>
393
434
/// Allows you to register an Amino account
@@ -427,7 +468,7 @@ public Task register(string _name, string _email, string _password, string _veri
427
468
RestClient client = new RestClient ( helpers . BaseUrl ) ;
428
469
RestRequest request = new RestRequest ( "/g/s/auth/register" ) ;
429
470
request . AddHeaders ( headers ) ;
430
- request . AddJsonBody ( data ) ;
471
+ request . AddJsonBody ( JsonConvert . SerializeObject ( data ) ) ;
431
472
request . AddHeader ( "NDC-MSG-SIG" , helpers . generate_signiture ( JsonConvert . SerializeObject ( data ) ) ) ;
432
473
var response = client . ExecutePost ( request ) ;
433
474
if ( ( int ) response . StatusCode != 200 ) { throw new Exception ( response . Content ) ; }
0 commit comments