/// <summary> /// Initializes a new instance of the <see cref="OidcClient"/> class. /// </summary> /// <param name="options">The options.</param> /// <exception cref="System.ArgumentNullException">options</exception> public OidcClient(OidcClientOptions options) { if (options == null) throw new ArgumentNullException(nameof(options)); if (options.ProviderInformation == null) { if (options.Authority.IsMissing()) throw new ArgumentException("No authority specified", nameof(_options.Authority)); useDiscovery = true; } _options = options; _logger = options.LoggerFactory.CreateLogger<OidcClient>(); _authorizeClient = new AuthorizeClient(options); _processor = new ResponseProcessor(options, EnsureProviderInformationAsync); }