Beispiel #1
0
 public static KaspIdentityBuilder AddIdentity <TUser, TRole, TDb>(this KaspDbServiceBuilder builder, Action <IdentityOptions> setupAction = null)
     where TUser : KaspUser
     where TRole : KaspRole
     where TDb : KIdentityDbContext <TUser, TRole>
 {
     return(AddIdentity <TUser, TRole, int, TDb>(builder, setupAction));
 }
Beispiel #2
0
        public static KaspIdentityBuilder AddIdentity <TUser, TRole, TKey, TDb>(this KaspDbServiceBuilder builder, Action <IdentityOptions> setupAction = null)
            where TUser : KaspUser <TKey>
            where TRole : KaspRole <TKey>
            where TDb : KIdentityDbContext <TUser, TRole, TKey>
            where TKey : IEquatable <TKey>
        {
            var identityBuilder = new KaspIdentityBuilder(builder)
            {
                IdentityBuilder = builder.Services.AddIdentity <TUser, TRole>(setupAction).AddEntityFrameworkStores <TDb>().AddDefaultTokenProviders()
            };

            builder.Services.AddScoped <IUserStore <TUser>, UserStore <TUser, TRole, TDb, TKey> >();
            builder.Services.AddScoped <IRoleStore <TRole>, RoleStore <TRole, TDb, TKey> >();

            return(identityBuilder);
        }
        private static void AddServices <TDbContext>(KaspDbServiceBuilder builder) where TDbContext : DbContext, IFcmDbContext
        {
            var fcmConfig = builder.Configuration.GetSection("Fcm");

            if (fcmConfig == null)
            {
                throw new NullReferenceException("you must define fcm config");
            }

            builder.Services.Configure <FcmConfig>(fcmConfig);

            builder.Services.AddScoped <IFcmUserTokenRepository, FcmUserTokenRepository <TDbContext> >();

            builder.Services.AddSingleton <IFcmHttpClient, FcmHttpClient>();
            builder.Services.AddSingleton <IFcmClient, FcmClient>();
            builder.Services.AddSingleton <FcmDeviceGroupService>();
            builder.Services.AddSingleton <IFcmService, FcmService>();

            builder.Services.AddHttpClient <FcmApiHttpClient>();
        }
Beispiel #4
0
 public KaspIdentityBuilder(KaspDbServiceBuilder builder) : base(builder, builder.Configuration, builder.MvcBuilder)
 {
 }
        public static void AddFcm <TDbContext>(this KaspDbServiceBuilder builder, string projectName, string filePath) where TDbContext : DbContext, IFcmDbContext
        {
            builder.Services.AddSingleton <IFcmClientSettings>(FileBasedFcmClientSettings.CreateFromFile(projectName, filePath));

            AddServices <TDbContext>(builder);
        }