Merge branch 'master' of http://181.129.245.90:81/Bonobo.Git.Server/Apigateway
This commit is contained in:
commit
3c4a9e23d1
@ -47,6 +47,28 @@ namespace MSAdminUsuarios.Controllers
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HttpPost("CambiarClave")]
|
||||||
|
public IActionResult CambiarClave([FromBody] USUARIO us)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
USUARIO? user = _context.USUARIOSMs.FirstOrDefault(u => us.NU_PK_USUMS == u.NU_PK_USUMS);
|
||||||
|
|
||||||
|
if (user == null) return BadRequest("Usuario no encontrado.");
|
||||||
|
|
||||||
|
string newPass = _encript.EncryptPwd(us.TX_PASSWORD_USUMS!);
|
||||||
|
user.TX_PASSWORD_USUMS = newPass;
|
||||||
|
|
||||||
|
_context.USUARIOSMs.Update(user);
|
||||||
|
_context.SaveChanges();
|
||||||
|
|
||||||
|
return Ok("Contraseña actualizada correctamente");
|
||||||
|
} catch (Exception e)
|
||||||
|
{
|
||||||
|
return Conflict(e.Message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
[HttpPost("Proveedor")]
|
[HttpPost("Proveedor")]
|
||||||
public IActionResult LoginProveedores([FromBody] LoginModel login)
|
public IActionResult LoginProveedores([FromBody] LoginModel login)
|
||||||
{
|
{
|
||||||
@ -122,6 +144,19 @@ namespace MSAdminUsuarios.Controllers
|
|||||||
return Ok(_encript.DecryptHashTkn(text));
|
return Ok(_encript.DecryptHashTkn(text));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HttpGet("TknCambioClave")]
|
||||||
|
public IActionResult ObtenerTokenCambioClave(int pkUs)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
return Ok(TokenCambioClave(pkUs));
|
||||||
|
} catch (Exception e)
|
||||||
|
{
|
||||||
|
return BadRequest(e.Message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
[AcceptVerbs("GET")]
|
[AcceptVerbs("GET")]
|
||||||
string Token(USUARIO user)
|
string Token(USUARIO user)
|
||||||
{
|
{
|
||||||
@ -218,6 +253,38 @@ namespace MSAdminUsuarios.Controllers
|
|||||||
return Encripter.Cypher(token);
|
return Encripter.Cypher(token);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
string TokenCambioClave(int pkUser)
|
||||||
|
{
|
||||||
|
USUARIO? user = _context.USUARIOSMs.FirstOrDefault(u => pkUser == u.NU_PK_USUMS);
|
||||||
|
if (user == null) throw new Exception("Usuario no encontrado");
|
||||||
|
|
||||||
|
//Security key debe ser un environment variable seguro
|
||||||
|
var secretKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(Encripter.HashKey));
|
||||||
|
var signingCredentials = new SigningCredentials(secretKey, SecurityAlgorithms.HmacSha256);
|
||||||
|
|
||||||
|
|
||||||
|
ClaimsIdentity claims = new ClaimsIdentity(new List<Claim>
|
||||||
|
{
|
||||||
|
new Claim("user", user.TX_PKDOC_USUMS),
|
||||||
|
new Claim("loginName", user.TX_LOGINNAME_USUMS),
|
||||||
|
new Claim("pk", user.NU_PK_USUMS.ToString())
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
var securityTokenDescriptor = new SecurityTokenDescriptor
|
||||||
|
{
|
||||||
|
Subject = claims,
|
||||||
|
Expires = DateTime.Now.AddMinutes(20),
|
||||||
|
SigningCredentials = signingCredentials
|
||||||
|
};
|
||||||
|
|
||||||
|
var jwtSecurityTokenHandler = new JwtSecurityTokenHandler();
|
||||||
|
var securityToken = jwtSecurityTokenHandler.CreateToken(securityTokenDescriptor);
|
||||||
|
var token = jwtSecurityTokenHandler.WriteToken(securityToken);
|
||||||
|
|
||||||
|
return Encripter.Cypher(token);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class LoginModel
|
public class LoginModel
|
||||||
|
Loading…
Reference in New Issue
Block a user