2

Startup configuration for JWT token and I am generating token with just issuer , audience and in claim I added only username to generate token. token is validated but in context.user.identity.isAuthenticated is always return false. Is there any way to make it has true?

.AddJwtBearer("jwt",options =>
                {
                    options.RequireHttpsMetadata = true;
                    options.SaveToken = true;
                    options.TokenValidationParameters = new TokenValidationParameters
                    {
                        ValidateIssuer = true,
                        ValidIssuer = jwtTokenConfig.Issuer,
                        ValidateIssuerSigningKey = true,
                        IssuerSigningKey = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(jwtTokenConfig.Secret)),
                        ValidAudience = jwtTokenConfig.Audience,
                        ValidateAudience = true,
                        ValidateLifetime = true,
                        ClockSkew = TimeSpan.FromMinutes(1)
                    };
                }
** I am generating token as following **
var claims = new[]
                {
                new Claim(ClaimTypes.Name,UserName),        
                };      

                return GenerateTokens(UserName, claims, DateTime.Now);              
            }

            return null;
        }

        private Dictionary<string, string> GenerateTokens(string userName, Claim[] claims, DateTime now)
        {
            var shouldAddAudienceClaim = string.IsNullOrWhiteSpace(claims?.FirstOrDefault(x => x.Type == JwtRegisteredClaimNames.Aud)?.Value);
            var jwtToken = new JwtSecurityToken(
                _jwtConfiguration.Issuer,
                shouldAddAudienceClaim ? _jwtConfiguration.Audience : string.Empty,
                claims,
                expires: now.AddMinutes(_jwtConfiguration.AccessTokenExpiration),
                signingCredentials: new SigningCredentials(new SymmetricSecurityKey(Encoding.ASCII.GetBytes(_jwtConfiguration.Secret)), SecurityAlgorithms.HmacSha256Signature));
            );
            var accessToken = new JwtSecurityTokenHandler().WriteToken(jwtToken);
jazb
  • 5,498
  • 6
  • 37
  • 44
jhonny
  • 21
  • 1

1 Answers1

0

is it like this :

if (!context.HttpContext.User.Identity.IsAuthenticated)

just remove the exclamation mark "!"

Omar AbuRok
  • 157
  • 1
  • 4