예제 #1
0
 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);
 }
예제 #2
0
        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));
            }
        }