public static string GenerateTokenJwt(Regante regante) { // appsetting for Token JWT var secretKey = ConfigurationManager.AppSettings["JWT_SECRET_KEY"]; var audienceToken = ConfigurationManager.AppSettings["JWT_AUDIENCE_TOKEN"]; var issuerToken = ConfigurationManager.AppSettings["JWT_ISSUER_TOKEN"]; var expireTime = ConfigurationManager.AppSettings["JWT_EXPIRE_MINUTES"]; var securityKey = new SymmetricSecurityKey(System.Text.Encoding.Default.GetBytes(secretKey)); var signingCredentials = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256Signature); // create a claimsIdentity //var claimsIdentity = new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, regante.Nombre ), new Claim(ClaimTypes.Role, regante.Role )}); var claimsIdentity = new ClaimsIdentity(); claimsIdentity.AddClaim(new Claim("NifRegante", regante.NIF ?? "")); claimsIdentity.AddClaim(new Claim("IdRegante", regante.IdRegante.ToString())); claimsIdentity.AddClaim(new Claim(ClaimTypes.Role, regante.Role)); // create token to the user var tokenHandler = new System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler(); var jwtSecurityToken = tokenHandler.CreateJwtSecurityToken( audience: audienceToken, issuer: issuerToken, subject: claimsIdentity, notBefore: DateTime.UtcNow, expires: DateTime.UtcNow.AddMinutes(Convert.ToInt32(expireTime)), signingCredentials: signingCredentials); var jwtTokenString = tokenHandler.WriteToken(jwtSecurityToken); return(jwtTokenString); }
/// <summary> /// Initializes a new instance of the <see cref="UnidadCultivoDatosHidricos"/> class. /// </summary> /// <param name="idUnidadCultivo">The IdUnidadCultivo<see cref="string"/>.</param> /// <param name="fecha">The idTemporada<see cref="string"/>.</param> public UnidadCultivoDatosHidricos(string idUnidadCultivo, DateTime fecha) { string idTemporada = DB.TemporadaDeFecha(idUnidadCultivo, fecha); if ((temporada = DB.Temporada(idTemporada)) == null) { throw new Exception($"Imposible cargar datos de la temporada {idTemporada}."); } if ((unidadCultivo = DB.UnidadCultivo(idUnidadCultivo)) == null) { throw new Exception($"Imposible cargar datos del cultivo {idUnidadCultivo}."); } pUnidadCultivoExtensionM2 = DB.UnidadCultivoExtensionM2(idUnidadCultivo, idTemporada); if ((UnidadCultivoCultivoEtapasList = DB.UnidadCultivoCultivoEtapasList(idUnidadCultivo, idTemporada)).Count == 0) { throw new Exception($"Imposible cargar las etapas para la unidad de cultivo {idUnidadCultivo}."); } if ((unidadCultivoCultivo = DB.UnidadCultivoCultivo(idUnidadCultivo, idTemporada)) == null) { throw new Exception("Imposible datos del cultivo en la temporada indicada."); } lTiposEstres = DB.ListaTipoEstres(); lTipoEstresUmbralList = DB.ListaEstresUmbral(); if ((lDatosClimaticos = DB.DatosClimaticosList(FechaSiembra(), FechaFinalDeEstudio(), unidadCultivo.IdEstacion)) == null) { throw new Exception($"Imposible cargar datos climáticos para la estación {unidadCultivo.IdEstacion} en el intervalo de fechas de {FechaSiembra()} a {FechaFinalDeEstudio()}"); } cultivo = DB.Cultivo(unidadCultivoCultivo.IdCultivo); estacion = DB.Estacion(unidadCultivo.IdEstacion); regante = (Regante)DB.Regante(unidadCultivoCultivo.IdRegante); if ((ListaUcSuelo = DB.UnidadCultivoSueloList(idTemporada, idUnidadCultivo)) == null) { throw new Exception("No se ha definido suelo para la unidad de Cultivo:" + idUnidadCultivo); } riegoTipo = DB.RiegoTipo(unidadCultivoCultivo.IdTipoRiego); DateTime fechaSiembra = FechaSiembra(); DateTime fechaFinal = FechaFinalDeEstudio();; lDatosRiego = DB.RiegosList(idUnidadCultivo, fechaSiembra, fechaFinal); lUnidadCultivoDatosExtas = DB.ParcelasDatosExtrasList(idUnidadCultivo, fechaSiembra, fechaFinal); }