예제 #1
0
        public void Install(IWindsorContainer container, IConfigurationStore store)
        {
            var provider = new MachineKeyProtectionProvider();

            IDataProtector protector = provider.Create("ResetPasswordPurpose");

            container.Register(Component.For <IDataProtector>().Instance(protector));
            container.Register(
                Component.For <DataProtectorTokenProvider <ApplicationUser, long> >().LifestyleTransient());

            container.Register(
                Component.For <SmsServiceInitializator>()
                .Instance(new SmsServiceInitializator(ConfigurationManager.AppSettings["TwilioSid"],
                                                      ConfigurationManager.AppSettings["TwilioFromPhone"],
                                                      ConfigurationManager.AppSettings["TwilioToken"])));
            container.Register(
                Component.For <IIdentityMessageService>().ImplementedBy <SmsService>()
                .LifestyleTransient());

            container.Register(Component.For <IPasswordHasher>().ImplementedBy <PasswordHasher>().LifestyleTransient());

            container.Register(
                Component.For <IUserStore <ApplicationUser, long> >().ImplementedBy <CustomUserStore>().LifestyleTransient());

            container.Register(Component.For <CustomUserManager>().LifestyleTransient());



            container.Register(
                Component.For <OAuthAuthorizationServerOptions>()
                .UsingFactoryMethod((kernel, parameters) => new OAuthAuthorizationServerOptions
            {
                AllowInsecureHttp         = true,
                TokenEndpointPath         = new PathString("/api/token"),
                AccessTokenExpireTimeSpan = TimeSpan.FromDays(1),
                Provider = new SimpleAuthorizationServerProvider(container)
            })
                .LifestyleTransient());
        }
예제 #2
0
        public void Install(IWindsorContainer container, IConfigurationStore store)
        {
            var provider = new MachineKeyProtectionProvider();

            IDataProtector protector = provider.Create("ResetPasswordPurpose");
            container.Register(Component.For<IDataProtector>().Instance(protector));
            container.Register(
                Component.For<DataProtectorTokenProvider<ApplicationUser, long>>().LifestyleTransient());

            container.Register(
             Component.For<SmsServiceInitializator>()
                 .Instance(new SmsServiceInitializator(ConfigurationManager.AppSettings["TwilioSid"],
                     ConfigurationManager.AppSettings["TwilioFromPhone"],
                     ConfigurationManager.AppSettings["TwilioToken"])));
            container.Register(
               Component.For<IIdentityMessageService>().ImplementedBy<SmsService>()
                   .LifestyleTransient());

            container.Register(Component.For<IPasswordHasher>().ImplementedBy<PasswordHasher>().LifestyleTransient());

            container.Register(
              Component.For<IUserStore<ApplicationUser, long>>().ImplementedBy<CustomUserStore>().LifestyleTransient());

            container.Register(Component.For<CustomUserManager>().LifestyleTransient());

            container.Register(
                Component.For<OAuthAuthorizationServerOptions>()
                    .UsingFactoryMethod((kernel, parameters) => new OAuthAuthorizationServerOptions
                    {
                        AllowInsecureHttp = true,
                        TokenEndpointPath = new PathString("/api/token"),
                        AccessTokenExpireTimeSpan = TimeSpan.FromDays(1),
                        Provider = new SimpleAuthorizationServerProvider(container)
                    })
                    .LifestyleTransient());
        }