예제 #1
0
        public void SignIn()
        {
            RequestSignIn = new RequestSignIn();
            var validityChecker = new ValidityChecker();

            var id           = GameObject.Find("IDInput").transform.FindChild("UILabel").GetComponent <UILabel>().text;
            var email        = GameObject.Find("EmailInput").transform.FindChild("UILabel").GetComponent <UILabel>().text;
            var password     = GameObject.Find("PasswordInput").transform.FindChild("UILabel").GetComponent <UILabel>().text;
            var errorMessage = GameObject.Find("Error").GetComponent <UILabel>();

            errorMessage.color = Color.yellow;

            try
            {
                validityChecker.IsValid(id, email, password);
            }
            catch (Exception exception)
            {
                errorMessage.text = exception.Message;
                return;
            }

            RequestSignIn.UserId   = id;
            RequestSignIn.Password = password;
            RequestSignIn.Email    = email;

            Debug.LogFormat("Sending {0} / {1} / {2} to server.", RequestSignIn.UserId, RequestSignIn.Email, RequestSignIn.Password);

            Post(Urls.UrlSignIn, RequestSignIn);
        }
예제 #2
0
        public async Task TryAuthWithoutMigration()
        {
            var settings = Container.Resolve <IClientSettings>();

            const string PhoneNumber = "9996610000";
            const string PhoneCode   = "11111";

            var requestSendCode = new RequestSendCode
            {
                PhoneNumber = PhoneNumber,
                ApiId       = settings.AppId,
                ApiHash     = settings.AppHash
            };

            var sentCode = (TSentCode)await RequestSender.SendRequestAsync(requestSendCode, CancellationToken.None).ConfigureAwait(false);

            var requestSignIn = new RequestSignIn
            {
                PhoneNumber   = PhoneNumber,
                PhoneCodeHash = sentCode.PhoneCodeHash,
                PhoneCode     = PhoneCode
            };

            var result = (TAuthorization)await RequestSender.SendRequestAsync(requestSignIn, CancellationToken.None).ConfigureAwait(false);
        }
예제 #3
0
        /// <inheritdoc />
        public async Task<TUser> SignInAsync(string phoneNumber, ISentCode sentCode, string code, CancellationToken cancellationToken = default(CancellationToken))
        {
            Guard.That(phoneNumber, nameof(phoneNumber)).IsNotNullOrWhiteSpace();
            Guard.That(code, nameof(code)).IsNotNullOrWhiteSpace();

            var request = new RequestSignIn
                          {
                              PhoneNumber = phoneNumber,
                              PhoneCodeHash = sentCode.PhoneCodeHash,
                              PhoneCode = code
                          };

            var result = (TAuthorization)await RequestSender.SendRequestAsync(request, cancellationToken).ConfigureAwait(false);

            var user = result.User.Is<TUser>();

            await OnUserAuthenticated(user).ConfigureAwait(false);

            return user;
        }
예제 #4
0
        public async Task <TUser> MakeAuthAsync(string phoneNumber, string phoneCodeHash, string code)
        {
            Guard.That(phoneNumber, nameof(phoneNumber)).IsNotNullOrWhiteSpace();
            Guard.That(phoneCodeHash, nameof(phoneCodeHash)).IsNotNullOrWhiteSpace();
            Guard.That(code, nameof(code)).IsNotNullOrWhiteSpace();

            var request = new RequestSignIn
            {
                PhoneNumber   = phoneNumber,
                PhoneCodeHash = phoneCodeHash,
                PhoneCode     = code
            };

            var result = (TAuthorization)await SenderService.SendRequestAsync(request).ConfigureAwait(false);

            var user = result.User.Cast <TUser>();

            await OnUserAuthenticated(user).ConfigureAwait(false);

            return(user);
        }
예제 #5
0
        public async Task <IActionResult> SignIn([FromBody] RequestSignIn request)
        {
            var user = await _userService.SignInAsync(request.Username, request.Password);

            if (!String.IsNullOrEmpty(user.Error))
            {
                return(BadRequest(
                           new ErrorPayload
                {
                    Error = user.Error
                }
                           ));
            }

            return(Ok(
                       new SessionPayload
            {
                Id = user.Id,
                Name = user.Name,
                Role = user.Role,
                Session = user.Session
            }
                       ));
        }
예제 #6
0
 public SignInManager()
 {
     RequestSignIn  = new RequestSignIn();
     ResponseSignIn = new ResponseSignIn();
 }