Ejemplo n.º 1
0
        public override async Task <ClaimsPrincipal> CreateAsync(TUser user)
        {
            var principal = await base.CreateAsync(user);

            var items = _httpContextAccessor.HttpContext.Items;

            ((ClaimsIdentity)principal.Identity).AddClaim(new Claim(JwtClaimTypes.AuthenticationMethod, $"KBADerived"));
            ((ClaimsIdentity)principal.Identity).AddClaim(new Claim(JwtClaimTypes.AuthenticationMethod, $"agent:username:{_agentTracker.UserName}"));

            _challengeQuestionsTracker.Retrieve();
            foreach (var challengeQuestion in _challengeQuestionsTracker.ChallengeQuestions)
            {
                ((ClaimsIdentity)principal.Identity).AddClaim(
                    new Claim(JwtClaimTypes.AuthenticationMethod,
                              $"agent:challengeQuestion:{challengeQuestion.Key}"));
            }
            return(principal);
        }