public WorkEntriesService(ApplicationDbContext dbContext, IDbErrorHandler dbErrorHandler,
                           IUserContextAccessor userContextAccessor)
 {
     _dbContext           = dbContext ?? throw new ArgumentNullException(nameof(dbContext));
     _dbErrorHandler      = dbErrorHandler ?? throw new ArgumentNullException(nameof(dbErrorHandler));
     _userContextAccessor = userContextAccessor ?? throw new ArgumentNullException(nameof(userContextAccessor));
 }
Example #2
0
 public CustomAuthenticationHandler(
     IOptionsMonitor <CustomAuthenticationSchemeOptions> options,
     ILoggerFactory logger,
     UrlEncoder encoder,
     ISystemClock clock,
     IUserContextAccessor userContextAccessor) : base(options, logger, encoder, clock)
 {
     this._userContextAccessor = userContextAccessor;
 }
Example #3
0
        public ChatHub(IUserContextAccessor userContextAccessor, ILoginService loginService, IChatBLL chatBLL)
        {
            var ctx = userContextAccessor.UserContext;

            _token        = ctx.Token;
            _userInfo     = ctx.UserInfo;
            _loginService = loginService;
            _chatBLL      = chatBLL;
        }
        // ReSharper disable once UnusedMember.Global
        public async Task InvokeAsync(HttpContext httpContext,
                                      ILogger <JwtReaderMiddleware> logger,
                                      ICacheProvider cacheProvider,
                                      IUserContextAccessor userContextAccessor,
                                      ITelegramUserIdProvider telegramUserIdProvider
                                      )
        {
            var header = httpContext.Request.Headers["Authorization"]
                         .FirstOrDefault(x => x.StartsWith(Bearer));

            if (string.IsNullOrEmpty(header))
            {
                await next(httpContext);

                return;
            }

            var readResult = header
                             .Replace(Bearer, string.Empty)
                             .Trim()
                             .Map(new JwtSecurityTokenHandler().ReadJwtToken)
                             .Map(new JwtPayloadReader().Read);


            if (!readResult.Success)
            {
                httpContext.Response.StatusCode = 401;
                return;
            }

            var payload = readResult.Payload;

            telegramUserIdProvider.Set(payload.Id);

            var cachedSession = await cacheProvider
                                .UserLevel <Session>()
                                .GetAsync();

            if (cachedSession == null ||
                !cachedSession.Key.Equals(payload.Key) ||
                !cachedSession.Id.Equals(payload.Id) ||
                !cachedSession.State.Equals(payload.Role))
            {
                httpContext.Response.StatusCode = 401;
                return;
            }

            logger
            .LogInformation("Found valid session for {TelegramUserId} in caches", payload.Id);
            userContextAccessor
            .SetContext(cachedSession);
            await next(httpContext);
        }
Example #5
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="roleService"></param>
 /// <param name="userContextAccessor"></param>
 public Authorize(IServices <RoleService> roleService, IUserContextAccessor userContextAccessor)
 {
     _roleService         = roleService;
     _userContextAccessor = userContextAccessor;
 }
Example #6
0
 public ChatUserIdProvider(IUserContextAccessor userContextAccessor)
 {
     _userContextAccessor = userContextAccessor;
 }
Example #7
0
 public UserController(IResponseService response, IUserContextAccessor userContextAccessor)
 {
     _response = response;
     _userInfo = userContextAccessor.UserContext.UserInfo;
 }
Example #8
0
 public AuthorizationValidationRule(IAuthorizationEvaluator evaluator, IUserContextAccessor userContextAccessor)
 {
     _evaluator           = evaluator;
     _userContextAccessor = userContextAccessor;
 }
Example #9
0
 public ChatBLL(ChatDb chatDb, IUserContextAccessor userContextAccessor)
 {
     _userInfo = userContextAccessor.UserContext.UserInfo;
     _chatDb   = chatDb;
 }
 public GetRefreshTokenQueryHandler(IUserContextAccessor userContextAccessor,
                                    IHookrRepository hookrRepository)
 {
     this.userContextAccessor = userContextAccessor;
     this.hookrRepository     = hookrRepository;
 }