Ajustes para nuevo token
This commit is contained in:
parent
9cbf2d3047
commit
f1fe950f50
@ -22,10 +22,11 @@ namespace Security
|
||||
}
|
||||
else
|
||||
{
|
||||
string DevKey = Environment.GetEnvironmentVariable("MySecretKey")!;
|
||||
ReadCredentials();
|
||||
/*string DevKey = Environment.GetEnvironmentVariable("MySecretKey")!;
|
||||
HashKey = DevKey;
|
||||
PwdKey = DevKey;
|
||||
_SEMILLA = 1262;
|
||||
_SEMILLA = 1262;*/
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2,6 +2,7 @@ using LdapLoginLib;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.IdentityModel.Tokens;
|
||||
using MSAdminUsuarios.Context;
|
||||
using MSAdminUsuarios.Dto;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using Security;
|
||||
using System.IdentityModel.Tokens.Jwt;
|
||||
@ -67,10 +68,11 @@ namespace MSAdminUsuarios.Controllers
|
||||
);
|
||||
|
||||
if (loggedWithLdap == true) {
|
||||
string token = Token(userldap);
|
||||
//string token = Token(userldap);
|
||||
AutorizaDTO autorizado = Token(userldap);
|
||||
return Ok(new
|
||||
{
|
||||
token = token,
|
||||
token = autorizado.token,
|
||||
user = userldap.TX_PKDOC_USUMS,
|
||||
ldap = 1
|
||||
});
|
||||
@ -207,12 +209,13 @@ namespace MSAdminUsuarios.Controllers
|
||||
//{
|
||||
|
||||
//}
|
||||
string token = Token(user);
|
||||
//string token = Token(user);
|
||||
AutorizaDTO autorizado = Token(user);
|
||||
user.FE_RECUPERACLAVE = null;
|
||||
_context.USUARIOSMs.Update(user);
|
||||
_context.SaveChanges();
|
||||
|
||||
return Ok(new ResLoginExt("Bienvenido al sistema.", true, user.NU_ESTADO_USUMS, token, user.NU_INICIO_PRIMERAVEZ_USUMS, user.TX_PKDOC_USUMS, user.BL_VIENELDAP_USUMS));
|
||||
return Ok(new ResLoginExt("Bienvenido al sistema.", true, user.NU_ESTADO_USUMS, autorizado, user.NU_INICIO_PRIMERAVEZ_USUMS, user.TX_PKDOC_USUMS, user.BL_VIENELDAP_USUMS));
|
||||
|
||||
}
|
||||
catch (Exception e)
|
||||
@ -269,8 +272,9 @@ namespace MSAdminUsuarios.Controllers
|
||||
|
||||
if (user == null) return BadRequest("No se encuentra usuario");
|
||||
|
||||
string newToken = Token(user);
|
||||
return Ok(newToken);
|
||||
//string newToken = Token(user);
|
||||
AutorizaDTO autorizado = Token(user);
|
||||
return Ok(autorizado.token);
|
||||
|
||||
} catch(Exception ex)
|
||||
{
|
||||
@ -311,7 +315,7 @@ namespace MSAdminUsuarios.Controllers
|
||||
}
|
||||
|
||||
[HttpPost("pruebaUsuario")]
|
||||
public string Token(USUARIO user)
|
||||
public AutorizaDTO Token(USUARIO user)
|
||||
{
|
||||
List<PERFILPORUSUARIO> perfilesPorUsuario = (from perf in _context.PERFILESPORUSUARIOs
|
||||
where perf.TX_FKDOC_USUMS == user.TX_PKDOC_USUMS && perf.NU_FK_PFL != null && perf.BL_ESTADO_PFLXUSU == 1
|
||||
@ -333,8 +337,14 @@ namespace MSAdminUsuarios.Controllers
|
||||
if (perfilesPorPermiso.ContainsKey(key))
|
||||
{
|
||||
string antVal = perfilesPorPermiso[key];
|
||||
perfilesPorPermiso.Remove(key);
|
||||
perfilesPorPermiso.Add(key, antVal + "," + val);
|
||||
/*perfilesPorPermiso.Remove(key);
|
||||
perfilesPorPermiso.Add(key, antVal + "," + val);*/
|
||||
List<string> result = new List<string>(antVal.Split(','));
|
||||
if (!result.Contains(val))
|
||||
{
|
||||
perfilesPorPermiso.Remove(key);
|
||||
perfilesPorPermiso.Add(key, antVal + "," + val);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -387,12 +397,15 @@ namespace MSAdminUsuarios.Controllers
|
||||
// claims.AddClaim(new Claim("permisos", Encripter.Encrypt(p.NU_FK_MS.ToString())));
|
||||
//}
|
||||
|
||||
List<string> permisosCifrados = new List<string>();
|
||||
foreach (KeyValuePair<string, string> p in perfilesPorPermiso)
|
||||
{
|
||||
string key = p.Key;
|
||||
string val = p.Value;
|
||||
|
||||
claims.AddClaim(new Claim("permisos", _encript.EncryptHashTkn(key) + "::" + val));
|
||||
//claims.AddClaim(new Claim("permisos", _encript.EncryptHashTkn(key) + "::" + val));
|
||||
//permisosCifrados.Add(_encript.EncryptHashTkn(key) + "::" + val);
|
||||
permisosCifrados.Add(key + "::" + "[" + val + "]");
|
||||
}
|
||||
|
||||
var securityTokenDescriptor = new SecurityTokenDescriptor
|
||||
@ -406,7 +419,12 @@ namespace MSAdminUsuarios.Controllers
|
||||
var securityToken = jwtSecurityTokenHandler.CreateToken(securityTokenDescriptor);
|
||||
var token = jwtSecurityTokenHandler.WriteToken(securityToken);
|
||||
|
||||
return Encripter.Cypher(token);
|
||||
AutorizaDTO autorizaDTO = new AutorizaDTO();
|
||||
autorizaDTO.token = Encripter.Cypher(token);
|
||||
autorizaDTO.permisos = permisosCifrados;
|
||||
|
||||
//return Encripter.Cypher(token);
|
||||
return autorizaDTO;
|
||||
}
|
||||
|
||||
[HttpPatch("BloquearUsuario")]
|
||||
@ -539,7 +557,9 @@ namespace MSAdminUsuarios.Controllers
|
||||
public class ResLoginExt
|
||||
{
|
||||
|
||||
public ResLoginExt(string _message, bool _exist = false, int? _estado = null, string? _token = "", int? _primera = null, string? _user = "", int? _ldap = null)
|
||||
//public ResLoginExt(string _message, bool _exist = false, int? _estado = null, string? _token = "", int? _primera = null, string? _user = "", int? _ldap = null)
|
||||
public ResLoginExt(string _message, bool _exist = false, int? _estado = null, AutorizaDTO? _token = null, int? _primera = null, string? _user = "", int? _ldap = null)
|
||||
|
||||
{
|
||||
Message = _message;
|
||||
Token = _token;
|
||||
@ -552,8 +572,9 @@ namespace MSAdminUsuarios.Controllers
|
||||
}
|
||||
|
||||
public bool Existe { get; set; }
|
||||
public int? Estado { get; set; }
|
||||
public string? Token { get; set; }
|
||||
public int? Estado { get; set; }
|
||||
//public string? Token { get; set; }
|
||||
public AutorizaDTO? Token { get; set; }
|
||||
public string Message { get; set; } = null!;
|
||||
public int? Primera { get; set; }
|
||||
public string? User { get; set; }
|
||||
|
8
Microservicios/MsUsuarios/Dto/AutorizaDTO.cs
Normal file
8
Microservicios/MsUsuarios/Dto/AutorizaDTO.cs
Normal file
@ -0,0 +1,8 @@
|
||||
namespace MSAdminUsuarios.Dto
|
||||
{
|
||||
public class AutorizaDTO
|
||||
{
|
||||
public string token { get; set; } = "";
|
||||
public List<string> permisos { get; set; } = new List<string>();
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user