private string BuildToken(string username, Guid librarId) { var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(EnvFactory.GetJwtKey())); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var claims = new List <Claim>(); var claimUser = new Claim(ClaimTypes.Name, username); claims.Add(claimUser); var claimLibrary = new Claim("LibraryId", librarId.ToString()); claims.Add(claimLibrary); var tokenDescriptor = new SecurityTokenDescriptor { Subject = new ClaimsIdentity(claims), Expires = DateTime.Now.AddMinutes(500), SigningCredentials = creds, Issuer = EnvFactory.GetJwtIssuer(), Audience = EnvFactory.GetJwtIssuer() }; var tokenHandler = new JwtSecurityTokenHandler(); var stoken = tokenHandler.CreateToken(tokenDescriptor); var token = tokenHandler.WriteToken(stoken); return(token); }
protected override void OnConfiguring( DbContextOptionsBuilder optionsBuilder) { if (_env.IsProduction()) { optionsBuilder.UseSqlServer(EnvFactory.GetConnectionString()); } else { optionsBuilder.UseInMemoryDatabase(new Guid().ToString()); optionsBuilder.EnableSensitiveDataLogging(); } base.OnConfiguring(optionsBuilder); }