public async Task Assertions()
        {
            Assert.Throws <ArgumentNullException>(() => new NoPersistentDynamicManager <FakeSchemeDefinition>(null, null, null));
            var schemeProviderMock = new Mock <IAuthenticationSchemeProvider>().Object;

            Assert.Throws <ArgumentNullException>(() => new NoPersistentDynamicManager <FakeSchemeDefinition>(schemeProviderMock, null, null));
            var serviceProviderMock = new Mock <IServiceProvider>().Object;
            var factory             = new OptionsMonitorCacheWrapperFactory(serviceProviderMock);

            Assert.Throws <ArgumentNullException>(() => new NoPersistentDynamicManager <FakeSchemeDefinition>(schemeProviderMock, factory, null));
            var storeMock = new Mock <IDynamicProviderStore <FakeSchemeDefinition> >().Object;
            var manager   = new PersistentDynamicManager <FakeSchemeDefinition>(schemeProviderMock, factory, storeMock, new List <Type>());
            await Assert.ThrowsAsync <ArgumentNullException>(() => manager.AddAsync(null));

            await Assert.ThrowsAsync <ArgumentNullException>(() => manager.UpdateAsync(null));

            await Assert.ThrowsAsync <ArgumentException>(() => manager.RemoveAsync(null));

            await Assert.ThrowsAsync <ArgumentException>(() => manager.RemoveAsync(""));

            await Assert.ThrowsAsync <ArgumentException>(() => manager.RemoveAsync("  "));

            await Assert.ThrowsAsync <ArgumentException>(() => manager.FindBySchemeAsync(null));

            await Assert.ThrowsAsync <ArgumentException>(() => manager.FindBySchemeAsync(""));

            await Assert.ThrowsAsync <ArgumentException>(() => manager.FindBySchemeAsync("  "));
        }
예제 #2
0
#pragma warning restore S2743 // Static fields should not be used in generic types

        public ExternalProviderStore(PersistentDynamicManager <SchemeDefinition> manager,
                                     IAuthenticationSchemeOptionsSerializer serializer,
                                     ConfigurationDbContext context,
                                     IProviderClient providerClient = null)
        {
            _manager        = manager ?? throw new ArgumentNullException(nameof(manager));
            _serializer     = serializer ?? throw new ArgumentNullException(nameof(serializer));
            _context        = context ?? throw new ArgumentNullException(nameof(context));
            _providerClient = providerClient;
        }
예제 #3
0
 public NotifyChangedExternalProviderStore(TStore parent,
                                           IProviderClient providerClient,
                                           PersistentDynamicManager <SchemeDefinition> manager,
                                           IAuthenticationSchemeOptionsSerializer serializer)
 {
     _parent         = parent ?? throw new ArgumentNullException(nameof(parent));
     _providerClient = providerClient ?? throw new ArgumentNullException(nameof(providerClient));
     _manager        = manager ?? throw new ArgumentNullException(nameof(parent));
     _serializer     = serializer ?? throw new ArgumentNullException(nameof(serializer));
 }
예제 #4
0
 public ExternalProviderStore(PersistentDynamicManager <SchemeDefinition> manager,
                              IAuthenticationSchemeOptionsSerializer serializer,
                              ScopedAsynDocumentcSession session,
                              IProviderClient providerClient = null)
 {
     _manager        = manager ?? throw new ArgumentNullException(nameof(manager));
     _serializer     = serializer ?? throw new ArgumentNullException(nameof(serializer));
     _session        = session?.Session ?? throw new ArgumentNullException(nameof(session));
     _providerClient = providerClient;
 }
예제 #5
0
        internal static void SeedProviders(IConfiguration configuration, PersistentDynamicManager <SchemeDefinition> persistentDynamicManager)
        {
            var googleDefinition = persistentDynamicManager.FindBySchemeAsync("Google").GetAwaiter().GetResult();

            if (googleDefinition == null)
            {
                var options = new Microsoft.AspNetCore.Authentication.Google.GoogleOptions
                {
                    ClientId     = configuration.GetValue <string>("Google:ClientId"),
                    ClientSecret = configuration.GetValue <string>("Google:ClientSecret"),
                };
                persistentDynamicManager.AddAsync(new SchemeDefinition
                {
                    Scheme      = "Google",
                    DisplayName = "Google",
                    HandlerType = persistentDynamicManager.ManagedHandlerType.First(t => t.Name == "GoogleHandler"),
                    Options     = options
                }).ConfigureAwait(false);
            }
        }
예제 #6
0
 public ExternalProviderKindStore(PersistentDynamicManager <SchemeDefinition> manager, IAuthenticationSchemeOptionsSerializer serializer)
 {
     _manager    = manager ?? throw new ArgumentNullException(nameof(manager));
     _serializer = serializer ?? throw new ArgumentNullException(nameof(serializer));
 }
 public HomeController(PersistentDynamicManager <SchemeDefinition> manager, SignInManager <IdentityUser> signInManager)
 {
     _manager       = manager ?? throw new ArgumentNullException(nameof(manager));
     _signInManager = signInManager;
 }