Example #1
0
 public UsersController(IUserBs userBs, IJWTAuthenticationManager JWTAuthenticationManager, ITokenRefresher tokenRefresher)
 {
     //_userService = userService;
     _userBs = userBs;
     _JWTAuthenticationManager = JWTAuthenticationManager;
     _tokenRefresher           = tokenRefresher;
 }
Example #2
0
        //IUserService userService,
        private void attachUserToContext(HttpContext context, IUserBs userBs, 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,
                    ValidateLifetime         = true,

                    // set clockskew to zero so tokens expire exactly at token expiration time (instead of 5 minutes later)
                    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"] = userBs.GetById(userId);
            }
            catch (Exception ex)
            {
                var xx = ex;
                // do nothing if jwt validation fails
                // user is not attached to context so request won't have access to secure routes
            }
        }
Example #3
0
 public DashBoardController(IWorkBs ws, IMeetBs ms, ICustomerBs cus, ITaskBs ts, IUserBs us)
 {
     _ws  = ws;
     _ms  = ms;
     _cus = cus;
     _ts  = ts;
     _us  = us;
 }
Example #4
0
 public TokenRefresher(IOptions <AppSettings> appSettings, IJWTAuthenticationManager jWTAuthenticationManager
                       , IHttpContextAccessor httpContextAccessor, IUserBs userBs)
 {
     _appSettings = appSettings.Value;
     this.jWTAuthenticationManager = jWTAuthenticationManager;
     _httpContextAccessor          = httpContextAccessor;
     this.userBs = userBs;
 }
Example #5
0
 public JWTAuthenticationManager(IOptions <AppSettings> appSettings, IUserBs userBs, IRefreshTokenGenerator refreshTokenGenerator
                                 , IHttpContextAccessor httpContextAccessor
                                 )
 {
     _appSettings = appSettings.Value;
     _userBs      = userBs;
     this.refreshTokenGenerator = refreshTokenGenerator;
     UsersRefreshTokens         = new Dictionary <string, string>();
     _httpContextAccessor       = httpContextAccessor;
 }
Example #6
0
        public async Task Invoke(HttpContext context, IUserBs userBs)
        {
            var token = context.Request.Headers["Authorization"].FirstOrDefault()?.Split(" ").Last();

            if (token != null)
            {
                attachUserToContext(context, userBs, token);
            }

            await _next(context);
        }
Example #7
0
 public LogXController(IUserBs us)
 {
     _us = us;
 }
Example #8
0
 public HRController(IUserBs us, IRoleBs rs)
 {
     _us = us;
     _rs = rs;
 }