private static void ConfigureAuthenticationJwt( IServiceCollection services, ICoreBaseAuthTypeJwtSettings settings ) { services.Configure <JwtBearerOptions>(options => { options.ClaimsIssuer = settings.Issuer; options.TokenValidationParameters = new TokenValidationParameters { ValidateIssuer = true, ValidIssuer = settings.Issuer, ValidateAudience = true, ValidAudience = settings.Audience, ValidateIssuerSigningKey = true, IssuerSigningKey = settings.SigningKey, RequireExpirationTime = false, ValidateLifetime = true, ClockSkew = TimeSpan.Zero }; options.SaveToken = true; options.IncludeErrorDetails = true; }); }
/// <summary> /// Конструктор. /// </summary> /// <param name="settings">Настройки.</param> public CoreBaseAuthTypeJwtService(ICoreBaseAuthTypeJwtSettings settings) { Settings = settings; if (Settings == null) { throw new ArgumentNullException(nameof(settings)); } if (Settings.SigningKey == null) { throw new ArgumentNullException(nameof(ICoreBaseAuthTypeJwtSettings.SigningKey)); } SigningCredentials = new SigningCredentials(Settings.SigningKey, SecurityAlgorithms.HmacSha256); LookupOfUserIdByRefreshTokenValue = new Dictionary <string, string>(); }