private void attachUserToContext(HttpContext context, IAccountAccess userService, string token) { try { var tokenHandler = new JwtSecurityTokenHandler(); var key = Encoding.ASCII.GetBytes(_appSettings.Secret); tokenHandler.ValidateToken(token, new TokenValidationParameters { ValidateIssuerSigningKey = true, IssuerSigningKey = new SymmetricSecurityKey(key), ValidateIssuer = false, ValidateAudience = false, ClockSkew = TimeSpan.Zero }, out SecurityToken validatedToken); var jwtToken = (JwtSecurityToken)validatedToken; var userId = int.Parse(jwtToken.Claims.First(x => x.Type == "id").Value); // attach user to context on successful jwt validation context.Items["User"] = userService.GetById(userId); } catch { } }
public BusinessAccountAccessImpl() { /* Connecting to AccountAccees interface in datatier */ ChannelFactory <IAccountAccess> AccountAccessFactory; NetTcpBinding tcpBinding = new NetTcpBinding(); AccountAccessFactory = new ChannelFactory <IAccountAccess>(tcpBinding, "net.tcp://localhost:8005/AccountAccess"); iAccountAccess = AccountAccessFactory.CreateChannel(); }
public async Task Invoke(HttpContext context, IAccountAccess userService) { var token = context.Request.Headers["Authorization"].FirstOrDefault()?.Split(" ").Last(); if (token != null) { attachUserToContext(context, userService, token); } await _next(context); }
public static bool RegisterUser(IAccountAccess accountAccess, string username, string email, string password) { EncryptedPassword encryptedPassword = PasswordEncryptor.EncryptPassword(password); return(accountAccess.CreateUserAccount(username, email, encryptedPassword.PasswordKey, encryptedPassword.PasswordSalt)); }
public static EncryptedPassword GetPassword(IAccountAccess accountAccess, string email) { int userId = accountAccess.GetUserId(email); return(accountAccess.GetEncryptedPassword(userId)); }
public static int GetUserId(IAccountAccess accountAccess, string email) { return(accountAccess.GetUserId(email)); }
public AccountController(IAccountAccess accessLayer) { _accessLayer = accessLayer; }
/// <summary> /// Creates new instance of UserLogic /// </summary> /// <param name="Account">Class that inherits from IAccountAcces which in turn inherits from ICrudAccess</param> public UserLogic(IAccountAccess Account) { Convert = new ConversionLogic(Account); this.Account = Account; }
public PaymentService(IAccountAccess accountAccess, IValidationFactory validationFactory) { _accountAccess = accountAccess; _validationFactory = validationFactory; }
public ConversionLogic(IAccountAccess Account) { this.Account = Account; }
public SignInService(IHttpContextAccessor httpContextAccessor, IAccountAccess accountAccess) { _httpContextAccessor = httpContextAccessor; _accountAccess = accountAccess; }