Example #1
0
        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();
        }
Example #3
0
        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);
        }
Example #4
0
        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));
        }
Example #5
0
        public static EncryptedPassword GetPassword(IAccountAccess accountAccess, string email)
        {
            int userId = accountAccess.GetUserId(email);

            return(accountAccess.GetEncryptedPassword(userId));
        }
Example #6
0
 public static int GetUserId(IAccountAccess accountAccess, string email)
 {
     return(accountAccess.GetUserId(email));
 }
 public AccountController(IAccountAccess accessLayer)
 {
     _accessLayer = accessLayer;
 }
Example #8
0
 /// <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;
 }
Example #10
0
 public ConversionLogic(IAccountAccess Account)
 {
     this.Account = Account;
 }
Example #11
0
 public SignInService(IHttpContextAccessor httpContextAccessor, IAccountAccess accountAccess)
 {
     _httpContextAccessor = httpContextAccessor;
     _accountAccess       = accountAccess;
 }