public static IdentityServerServiceFactory Create(
            string issuerUri, string siteName, string certificateThumbprint, 
            string storageConnectionString,
            string publicHostAddress = "")
        {
            Func<IdentityServerTableContext> storageContext = () =>  new IdentityServerTableContext(
                   CloudStorageAccount.Parse(storageConnectionString));
            Func<IdentityTableContext<IdentityUser>> identityContext = () =>
                new IdentityTableContext<IdentityUser>(CloudStorageAccount.Parse(storageConnectionString));

            var settings = new AzureTableStoreCoreSettings(storageContext(),
                issuerUri, siteName, certificateThumbprint, publicHostAddress);

            var consent = new AzureTableStoreConsentService();

            var logger = new TraceLogger();

            var fact = new IdentityServerServiceFactory
            {
                Logger = () => logger,
                UserService = () => UserServiceFactory.Factory<IdentityUser>(identityContext()),
                AuthorizationCodeStore = () => new AzureTableStoreAuthorizationCodeStore(storageContext()),
                TokenHandleStore = () => new AzureTableStoreTokenHandlerStore(storageContext()),
                CoreSettings = () => settings,
                ConsentService = () => consent
            };

            return fact;
        }
コード例 #2
0
        public static IdentityServerServiceFactory Create(
                    string issuerUri, string siteName, string publicHostAddress = "")
        {
            var settings = new LocalTestCoreSettings(issuerUri, siteName, publicHostAddress);
            
            var codeStore = new InMemoryAuthorizationCodeStore();
            var tokenStore = new InMemoryTokenHandleStore();
            var consent = new InMemoryConsentService();
            var scopes = new InMemoryScopeService(LocalTestScopes.Get());
            var clients = new InMemoryClientService(LocalTestClients.Get());
            var logger = new TraceLogger();

            var users = new InMemoryUser[]
            {
                new InMemoryUser{Subject = "alice", Username = "******", Password = "******", 
                    Claims = new Claim[]
                    {
                        new Claim(Constants.ClaimTypes.GivenName, "Alice"),
                        new Claim(Constants.ClaimTypes.FamilyName, "Smith"),
                        new Claim(Constants.ClaimTypes.Email, "*****@*****.**"),
                    }
                },
                new InMemoryUser{Subject = "bob", Username = "******", Password = "******", 
                    Claims = new Claim[]
                    {
                        new Claim(Constants.ClaimTypes.GivenName, "Bob"),
                        new Claim(Constants.ClaimTypes.FamilyName, "Smith"),
                        new Claim(Constants.ClaimTypes.Email, "*****@*****.**"),
                    }
                },
            };
            var userSvc = new InMemoryUserService(users);

            var fact = new IdentityServerServiceFactory
            {
                Logger = () => logger,
                UserService = () => userSvc,
                AuthorizationCodeStore = () => codeStore,
                TokenHandleStore = () => tokenStore,
                CoreSettings = () => settings,
                ConsentService = () => consent,
                ScopeService = () => scopes,
                ClientService = () => clients
            };

            return fact;
        }
コード例 #3
0
        public static IdentityServerServiceFactory Create(string issuerUri, string siteName, string publicHostAddress = "")
        {
            var settings = new TestCoreSettings(issuerUri, siteName, publicHostAddress);
            var codeStore = new TestAuthorizationCodeStore();
            var tokenStore = new TestTokenHandleStore();
            var consent = new TestConsentService();
            var logger = new TraceLogger();
            
            var fact = new IdentityServerServiceFactory
            {
                Logger = () => logger,
                UserService = () => new TestUserService(),
                AuthorizationCodeStore = () => codeStore,
                TokenHandleStore = () => tokenStore,
                CoreSettings = () => settings,
                ConsentService = () => consent
            };

            return fact;
        }