public AccountController(UserManager<ApplicationUser> userManager, SignInManager<ApplicationUser> signInManager, ILoggerFactory loggerFactory, IOptions<JWTokenOptions> jwtTokenOptions, IBus bus, IDomainNotificationHandler<DomainNotification> notifications, IUser user) : base(notifications, user, bus) { _userManager = userManager; _signInManager = signInManager; _logger = loggerFactory.CreateLogger<AccountController>(); _bus = bus; _jwTokenOptions = jwtTokenOptions.Value; ThrowIfInvalidOptions(_jwTokenOptions); }
private static void ThrowIfInvalidOptions(JWTokenOptions options) { if (options == null) throw new ArgumentNullException(nameof(options)); if (options.ValidFor <= TimeSpan.Zero) { throw new ArgumentException("Must be a non-zero TimeSpan.", nameof(JWTokenOptions.ValidFor)); } if (options.SigningCredentials == null) { throw new ArgumentException(nameof(JWTokenOptions.SigningCredentials)); } if (options.JtiGenerator == null) { throw new ArgumentException(nameof(JWTokenOptions.JtiGenerator)); } }