private async Task AttachAccount(HttpContext context, JwtDbContext dataContext, string token) { try { var tokenHandler = new JwtSecurityTokenHandler(); var key = Encoding.ASCII.GetBytes(_config.GetSection("JwtKey").Value); tokenHandler.ValidateToken(token, new TokenValidationParameters { ValidateIssuerSigningKey = true, IssuerSigningKey = new SymmetricSecurityKey(key), ValidateIssuer = false, ValidateAudience = false, //Set ClockKew = 0 để thông báo token đã hết hạn ClockSkew = TimeSpan.Zero }, out SecurityToken validatedToken); var jwtToken = (JwtSecurityToken)validatedToken; int.TryParse(jwtToken.Claims.First(x => x.Type == "id").Value, out int accountId); var id = await dataContext.Users.FindAsync(accountId); if (String.Equals(JWTHelpers.ValidateJwtToken(token, key), id.Id.ToString())) { context.Items["Account"] = await dataContext.Users.FindAsync(accountId); } } catch { //do nothing } }
public async Task Invoke(HttpContext context, JwtDbContext dataContext) { var token = context.Request.Headers["Authorization"].FirstOrDefault()?.Split(" ").Last(); if (token != null) { await AttachAccount(context, dataContext, token); } await _next(context); }
public IActionResult Index() { if (!env.IsDevelopment()) { var errorResult = new ResultModel <string>("Not authorized", ResultCode.Error); return(Json(errorResult)); } using (var context = new JwtDbContext()) { new JwtDbContextSeeder(context).Seed(addNewUser, confirmUserEmail, addNewApp, addNewUserApps); } return(Json("Database seeded")); }
public AppUserService(JwtDbContext dbContext) { _dbContext = dbContext; }
public UserInfoesController(JwtDbContext context) { _context = context; }
public UserRepository(JwtDbContext ctx) : base(ctx) { _ctx = ctx; }
public UserRepository(JwtDbContext dbContext) { _dbContext = dbContext; _dbContext.Database.EnsureCreated(); }
public ValuesController(JwtDbContext context) { _context = context; }
public GenericRepository(JwtDbContext ctx) { _ctx = ctx; }
public ProductsController(JwtDbContext context) { _context = context; }
public AppClaimService(JwtDbContext dbContext) { _dbContext = dbContext; }
public WeatherForecastController(ILogger <WeatherForecastController> logger, IConfiguration config, JwtDbContext db) { _logger = logger; _config = config; _db = db; }
public JwtDbContextSeeder(JwtDbContext context) { this.context = context; }
public TokenController(IConfiguration configuration, JwtDbContext context) { _configuration = configuration; _context = context; }
// Kullanici adi, parola ve Originator kullanilarak bir sms paketi olusturulur. public PersonService(JwtDbContext dbContext, IAuthService authService, IAppUserService appUserService) { _dbContext = dbContext; _authService = authService; _appUserService = appUserService; }