public async Task <ActionResult <IngresarResponse> > Ingresar([FromBody] GetUserLoginQuery query) { var response = await Mediator.Send(query); // authentication successful so generate jwt token var token = GenerateToken(new Claim[] { new Claim(ClaimTypes.Name, response.UserName), new Claim(ClaimTypes.NameIdentifier, response.IdUsuario.ToString()), new Claim(ClaimTypes.Role, response.UserType.ToString()), }); return(Ok(new IngresarResponse { User = new UserInfo { UserType = response.UserType, IdUser = response.IdUsuario, UserName = response.UserName, RefreshToken = response.RefreshToken }, Token = token.token, RefreshToken = response.RefreshToken, ExpirationDate = token.expirationDate })); }
public async Task CreateUserAndNotAproveTryLogin() { var client = GetClient(); var command = new CreateUserCommand { UserName = "******", UserType = (int)UserType.Admin, Password = "******", Name = "Nombre", }; var content = Utilities.GetRequestContent(command); var response = await client.PostAsync($"/api/Cuenta/createUser", content); var responseContent = await Utilities.GetResponseContent <CreateUsuarioResponse>(response); Assert.Equal(command.Name, responseContent.Name); Assert.Equal(command.UserName, responseContent.UserName); response.EnsureSuccessStatusCode(); var loginCommand = new GetUserLoginQuery { UserName = "******", Password = "******" }; var contentLogin = Utilities.GetRequestContent(loginCommand); var responseLogin = await client.PostAsync($"/api/Cuenta/ingresar", contentLogin); Assert.Equal(HttpStatusCode.Forbidden, responseLogin.StatusCode); }
public async Task UserTryLoginNotFound() { var client = GetClient(); var loginCommand = new GetUserLoginQuery { UserName = "******", Password = "******" }; var contentLogin = Utilities.GetRequestContent(loginCommand); var response = await client.PostAsync($"/api/Cuenta/ingresar", contentLogin); Assert.Equal(HttpStatusCode.NotFound, response.StatusCode); }
public async Task UserLoggedInCorrectly() { var client = GetClient(); var loginCommand = new GetUserLoginQuery { UserName = "******", Password = "******" }; var contentLogin = Utilities.GetRequestContent(loginCommand); var response = await client.PostAsync($"/api/Cuenta/ingresar", contentLogin); response.EnsureSuccessStatusCode(); var responseContent = await Utilities.GetResponseContent <IngresarResponse>(response); Assert.NotNull(responseContent.Token); Assert.NotNull(responseContent.User); Assert.NotNull(responseContent.User.RefreshToken); }
public ActionResult UserLogin(GetUserLoginQuery query) { return(IncJson(this.dispatcher.Query(query))); }