public async Task <TLUser> SignUpAsync(string phoneNumber, string phoneCodeHash, string code, string firstName, string lastName) { var request = new TLRequestSignUp() { phone_number = phoneNumber, phone_code = code, phone_code_hash = phoneCodeHash, first_name = firstName, last_name = lastName }; await _sender.Send(request); await _sender.Receive(request); OnUserAuthenticated(((TLUser)request.Response.user)); return((TLUser)request.Response.user); }
public async Task <TLUser> SignUpAsync(string phoneNumber, string phoneCodeHash, string firstName, string lastName, CancellationToken token = default(CancellationToken)) { var request = new TLRequestSignUp() { PhoneNumber = phoneNumber, PhoneCodeHash = phoneCodeHash, FirstName = firstName, LastName = lastName }; await RequestWithDcMigration(request, token).ConfigureAwait(false); if (!(request.Response is TLAuthorization authorization)) { throw new InvalidOperationException("User is not registered"); } var user = (TLUser)authorization.User; OnUserAuthenticated(user); return(user); }
public async Task <TLUser> MakeAuthAsync(string phoneNumber, string phoneCodeHash, string code, string firstName = "", string lastName = "", CancellationToken token = default(CancellationToken)) { if (String.IsNullOrWhiteSpace(phoneNumber)) { throw new ArgumentNullException(nameof(phoneNumber)); } if (String.IsNullOrWhiteSpace(phoneCodeHash)) { throw new ArgumentNullException(nameof(phoneCodeHash)); } if (String.IsNullOrWhiteSpace(code)) { throw new ArgumentNullException(nameof(code)); } var request = new TLRequestSignIn() { PhoneNumber = phoneNumber, PhoneCodeHash = phoneCodeHash, PhoneCode = code }; await RequestWithDcMigration(request, token).ConfigureAwait(false); if (request.Response is TLAuthorization) { OnUserAuthenticated(((TLUser)((TLAuthorization)request.Response).User)); return((TLUser)((TLAuthorization)request.Response).User); } else { var signUpRequest = new TLRequestSignUp() { PhoneNumber = phoneNumber, PhoneCodeHash = phoneCodeHash, FirstName = firstName, LastName = lastName }; await RequestWithDcMigration(signUpRequest, token).ConfigureAwait(false); OnUserAuthenticated((TLUser)signUpRequest.Response.User); return((TLUser)signUpRequest.Response.User); } }