コード例 #1
0
 /// <summary>
 /// Configures EF implementation of TenantStore with IdentityServer.
 /// </summary>
 /// <param name="builder">The builder.</param>
 /// <param name="DbContextOptions">The store options action.</param>
 /// <returns></returns>
 static IISMSServiceBuilder AddTenantStore(
     this IISMSServiceBuilder builder,
     Action <DbContextOptionsBuilder> DbContextOptions)
 {
     builder.Services.AddDbContext <TenantDbContext>(DbContextOptions);
     return(builder);
 }
コード例 #2
0
 /// <summary>
 /// Adds the required platform services.
 /// </summary>
 /// <param name="builder">The builder.</param>
 /// <param name="config">The config.</param>
 /// <returns></returns>
 static IISMSServiceBuilder AddEmailService(this IISMSServiceBuilder builder, IConfigurationSection config)
 {
     builder.Services.Configure <EmailSenderOptions>(config);
     builder.Services.AddTransient <IEmailSender, EmailSender>();
     builder.Services.AddTransient <EmailService>();
     return(builder);
 }
コード例 #3
0
 /// <summary>
 /// Adds the required platform services.
 /// </summary>
 /// <param name="builder">The builder.</param>
 /// <returns></returns>
 static IISMSServiceBuilder AddCoreService(this IISMSServiceBuilder builder)
 {
     builder.Services.AddScoped <IPasswordHasher <AppUser>, IdentityMD5PasswordHasher>();
     builder.Services.AddSingleton <TenantService>();
     builder.Services.AddSingleton <RedisService>();
     builder.Services.AddSingleton <SwaggerCodeGenService>();
     builder.Services.AddSingleton <AzureStorageService>();
     return(builder);
 }
コード例 #4
0
        /// <summary>
        /// Configures SqlCache Service
        /// </summary>
        /// <param name="builder">The builder.</param>
        /// <param name="connection">database connection string</param>
        /// <param name="schemaName">table schemaName</param>
        /// <param name="tableName">table name</param>
        /// <returns></returns>
        static IISMSServiceBuilder AddSqlCacheStore(
            this IISMSServiceBuilder builder,
            string connection, string schemaName = "dbo", string tableName = "AppCache")
        {
            builder.Services.AddDistributedSqlServerCache(options =>
            {
                options.ConnectionString = connection;
                options.SchemaName       = schemaName;
                options.TableName        = tableName;
            });

            return(builder);
        }
コード例 #5
0
        /// <summary>
        /// Configures EF implementation of TenantStore with IdentityServer.
        /// </summary>
        /// <param name="builder">The builder.</param>
        /// <param name="DbContextOptions">The store options action.</param>
        /// <param name="certificate">The certificate.</param>
        /// <returns></returns>
        static IISMSServiceBuilder AddIdentityServer(
            this IISMSServiceBuilder builder,
            Action <DbContextOptionsBuilder> DbContextOptions, X509Certificate2 certificate)
        {
            builder.Services.AddIdentityServer()
            .AddSigningCredential(certificate)
            .AddCustomAuthorizeRequestValidator <TenantAuthorizeRequestValidator>()
            .AddCustomTokenRequestValidator <TenantTokenRequestValidator>()
            .AddConfigurationStore(x => x.ConfigureDbContext = DbContextOptions)
            .AddOperationalStore(x => x.ConfigureDbContext   = DbContextOptions)
            .AddExtensionGrantValidator <MobileCodeGrantValidator>()
            .AddAspNetIdentity <AppUser>();

            return(builder);
        }
コード例 #6
0
        /// <summary>
        /// Configures EF implementation of IdentityStore with IdentityServer.
        /// </summary>
        /// <param name="builder">The builder.</param>
        /// <param name="DbContextOptions">The store options action.</param>
        /// <param name="identityOptions">The identity options action.</param>
        /// <returns></returns>
        static IISMSServiceBuilder AddIdentityStore(
            this IISMSServiceBuilder builder,
            Action <DbContextOptionsBuilder> DbContextOptions,
            Action <IdentityOptions> identityOptions = null)
        {
            builder.Services.AddDbContext <UserDbContext>(DbContextOptions);
            builder.Services.AddScoped <UserDbContext>();
            builder.Services.AddScoped <UserManager <AppUser> >();

            builder.Services.AddIdentity <AppUser, AppRole>(identityOptions)
            .AddDefaultUI()
            .AddEntityFrameworkStores <UserDbContext>()
            .AddDefaultTokenProviders();

            return(builder);
        }
 /// <summary>
 /// Adds the required platform services.
 /// </summary>
 /// <param name="builder">The builder.</param>
 /// <param name="config">The config.</param>
 /// <returns></returns>
 public static IISMSServiceBuilder AddSmsService(this IISMSServiceBuilder builder, IConfigurationSection config)
 {
     builder.Services.Configure <SmsSenderOptions>(config);
     builder.Services.AddTransient <ISmsSender, SmsSender>();
     return(builder);
 }