Ejemplo n.º 1
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            var identity = ConfigureIdentity.Make(Configuration);

            identity.AddServices(services);
            services.AddMvc();
        }
Ejemplo n.º 2
0
        public WebHostTestServer()
        {
            var tokenConfig = new TokenValidationParameters {
                ValidateIssuer           = false,
                ValidateAudience         = false,
                ValidateLifetime         = false,
                ValidateIssuerSigningKey = true,
                ValidateActor            = false,
                ValidateTokenReplay      = false,
                ValidIssuer      = JWTConfig.Audience,
                ValidAudience    = JWTConfig.Audience,
                IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(JWTConfig.Key))
            };
            var builder = new WebHostBuilder()
                          .ConfigureServices(services => {
                ConfigureIdentity.Make()
                .SetDbContextConfig(dbOptions => {
                    dbOptions.UseInMemoryDatabase("TESTING_DATABASE_MEMORY");
                })
                .SetIdentityOptions(identityOptions => {
                    identityOptions.SignIn.RequireConfirmedEmail       = false;
                    identityOptions.SignIn.RequireConfirmedPhoneNumber = false;
                })
                .SetJwtBearerOptions(jwtBearerOptions => {
                    jwtBearerOptions.RequireHttpsMetadata      = false;
                    jwtBearerOptions.IncludeErrorDetails       = true;
                    jwtBearerOptions.TokenValidationParameters = tokenConfig;
                })
                .AddServices(services);

                services.AddMvc(options => {
                    // options.Filters.Add<IdentityAuthorizeAttribute>();
                });
            })
                          .Configure(app => {
                app.UseAuthentication();
                app.UseMvc(routes => {
                    routes.MapRoute("default", "{controller=FakeIdentityAuthorizeTestsController}/{action=Index}/{id?}");
                });
            });
            var testServer = new TestServer(builder);

            testServer.BaseAddress = new Uri("http://localhost");
            _testServer            = testServer;
        }
Ejemplo n.º 3
0
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllersWithViews();

            //* Configure all about identity
            ConfigureIdentity.DoConfiguration(services, Configuration);
            services.AddDbContext <ApplicationDbContext>(options =>
                                                         options.UseSqlite(Configuration.GetConnectionString("CinePlus")));


            //CriteriaManager.SelectedCriteria = CriteriaManager.GetSelectedCriterion(Configuration.GetValue<string>("SelectedCriteria"));

            services.AddScoped <IUserStore, CinemaUsersStore>();
            services.AddScoped <IAuthorizeUser, CinemaAuthorization>();

            services.AddScoped <IRepository <Genre>, GenreRepository>();
            services.AddScoped <IRepository <Actor>, ActorRepository>();
            services.AddScoped <IRepository <Country>, CountryRepository>();
            services.AddScoped <IRepository <Movie>, MovieRepository>();
            services.AddScoped <IRepository <Rating>, RatingRepository>();
            services.AddScoped <IRepository <Batch>, BatchRepository>();
            services.AddScoped <IRepository <Cinema>, CinemaRepository>();
        }
Ejemplo n.º 4
0
        public WebHostFixtureWithConfig()
        {
            var ds = Path.DirectorySeparatorChar;

            _webHost = WebHost.CreateDefaultBuilder()
                       .ConfigureServices(services => {
                var config = new ConfigurationBuilder()
                             .SetBasePath(Directory.GetCurrentDirectory() + $"..{ds}..{ds}..{ds}..{ds}")
                             .AddJsonFile("appsettings.json")
                             .Build();

                ConfigureIdentity.Make(config)
                .SetDbContextConfig(options => {
                    options.UseInMemoryDatabase(Guid.NewGuid().ToString());
                })
                .AddServices(services);
                var provider = services.BuildServiceProvider();
                _roleManager = provider.GetService <RoleManager <ApplicationRole> >();
                _userManager = provider.GetService <UserManager <ApplicationUser> >();
            })
                       .UseStartup <FakeStartup>()
                       .Build();
        }
Ejemplo n.º 5
0
        public async Task <IActionResult> Login([FromBody] UserLoginViewModel userLogin)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    var user = await _userService.LoginAsync(userLogin.Email, userLogin.Password);

                    var identity    = ConfigureIdentity.GetIdentity(user.Email, user.RoleId);
                    var jwtProvider = new JwtProvider();

                    var encodedJwt = jwtProvider.GetEncodedJwt(identity);

                    return(new ObjectResult(new
                    {
                        access_token = encodedJwt,
                        userInfo = new TokenData
                        {
                            Email = user.Email,
                            RoleId = user.RoleId
                        }
                    }));
                }
                else
                {
                    return(BadRequest(ModelState.Errors()));
                }
            }
            catch (UserNotFoundException e)
            {
                return(StatusCode(400, e.Message));
            }
            catch (Exception e)
            {
                return(StatusCode(500, "Server error. Try to reload page."));
            }
        }