private static void ThrowIfInvalidOptions(EmailJwtSettings options)
        {
            if (options == null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            if (options.ValidFor <= TimeSpan.Zero)
            {
                throw new ArgumentException("Must be a non-zero TimeSpan.", nameof(EmailJwtSettings.ValidFor));
            }

            if (options.SigningCredentials == null)
            {
                throw new ArgumentNullException(nameof(EmailJwtSettings.SigningCredentials));
            }

            if (options.JtiGenerator == null)
            {
                throw new ArgumentNullException(nameof(EmailJwtSettings.JtiGenerator));
            }
        }
 public EmailJwtService(IOptions <EmailJwtSettings> jwtOptions)
 {
     _jwtSettings = jwtOptions.Value;
     ThrowIfInvalidOptions(_jwtSettings);
 }