public static IServiceCollection AddJwtTokenParameters(this IServiceCollection serviceCollection, Action <JwtTokenParameters> configure = null) { var jwtTokenParameters = new JwtTokenParameters(); if (configure != null) { configure.Invoke(jwtTokenParameters); } var serviceProvider = serviceCollection.BuildServiceProvider(); var configuration = serviceProvider.GetRequiredService <IConfiguration>(); configuration.GetSection(JwtTokenParameters.ConfigurationSection).Bind(jwtTokenParameters); serviceCollection.AddSingleton(jwtTokenParameters); return(serviceCollection); }
public static ClaimsPrincipal ReadJwt(this JwtTokenParameters jwtTokenParameters, string jwt) { if (!jwtTokenParameters.IsValid) { return(null); } var tokenValidationParameters = new TokenValidationParameters() { ValidIssuer = jwtTokenParameters.Issuer, ValidAudience = jwtTokenParameters.Audience, IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(jwtTokenParameters.Key)) }; var tokenHandler = new JwtSecurityTokenHandler(); return(tokenHandler.ValidateToken(jwt, tokenValidationParameters, out _)); }
public static string WriteJwt(this JwtTokenParameters jwtTokenParameters, ClaimsIdentity claimsIdentity, TimeSpan expires) { if (!jwtTokenParameters.IsValid) { return(null); } var td = new SecurityTokenDescriptor { Subject = claimsIdentity, Expires = DateTime.UtcNow.Add(expires), Issuer = jwtTokenParameters.Issuer, Audience = jwtTokenParameters.Audience, SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(Encoding.UTF8.GetBytes(jwtTokenParameters.Key)), SecurityAlgorithms.HmacSha256Signature) }; var tokenHandler = new JwtSecurityTokenHandler(); var token = tokenHandler.CreateToken(td); return(tokenHandler.WriteToken(token)); }
public static string WriteJwt(this JwtTokenParameters jwtTokenParameters, ClaimsIdentity claimsIdentity) { return(jwtTokenParameters.WriteJwt(claimsIdentity, defaultExpiry)); }
protected ApiClientOptionsBase() { Token = new JwtTokenParameters(); ApiKey = new ApiKeyParameters(); }