public async Task <SignInAccountResponseViewModel> SignIn(SignInAccountRequestViewModel signInAccountRequestViewModel)
        {
            Account account = await GetAccount(signInAccountRequestViewModel.Email, signInAccountRequestViewModel.Password);

            if (account == null)
            {
                throw new IdentityException("Invalid username or password");
            }

            Token token = await GetToken(account.Id, account.Email);

            var signInAccountResponseViewModel = new SignInAccountResponseViewModel
            {
                AccessToken  = token.AccessToken,
                RefreshToken = token.RefreshToken,
                AccessTokenExpirationDate  = token.AccessTokenExpirationDate,
                RefreshTokenExpirationDate = token.RefreshTokenExpirationDate,
                AccountId = token.Id
            };

            return(signInAccountResponseViewModel);
        }
Example #2
0
        public async Task <ActionResult <SignInAccountResponseViewModel> > SignIn([FromBody] SignInAccountRequestViewModel signInAccountRequestViewModel)
        {
            SignInAccountResponseViewModel token = await _accountsService.SignIn(signInAccountRequestViewModel);

            return(Ok(token));
        }