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