Пример #1
0
        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);
        }
Пример #2
0
        protected override void OnConfiguring(
            DbContextOptionsBuilder optionsBuilder)
        {
            if (_env.IsProduction())
            {
                optionsBuilder.UseSqlServer(EnvFactory.GetConnectionString());
            }
            else
            {
                optionsBuilder.UseInMemoryDatabase(new Guid().ToString());
                optionsBuilder.EnableSensitiveDataLogging();
            }

            base.OnConfiguring(optionsBuilder);
        }