Esempio n. 1
0
 public void NullServices_Throws()
 {
     Assert.Throws <ArgumentNullException>("services", () =>
     {
         IdentityServices.AddUserStore <User, FakeUserStore>(services: null !);
     });
 }
Esempio n. 2
0
        public ActionResult Logout()
        {
            var identityServices = new IdentityServices();

            identityServices.Logout();
            return(View("Login"));
        }
Esempio n. 3
0
                public void WhenCalled_AddsRetrieveOperation()
                {
                    var services = new ServiceCollection();

                    IdentityServices.AddUserEmailStore <User, FakeUserEmailStore>(services);

                    var provider = services.BuildServiceProvider();

                    Assert.NotNull(provider.GetRequiredService <IRetrieveOperation <EmailAddress, User> >());
                }
Esempio n. 4
0
                public void WhenCalled_AddsCrudStore()
                {
                    var services = new ServiceCollection();

                    IdentityServices.AddUserStore <User, FakeUserStore>(services);

                    var provider = services.BuildServiceProvider();

                    Assert.NotNull(provider.GetRequiredService <ICrudStore <UserKey, User> >());
                }
 public static IdentityBuilder <TUser, TRole> AddIdentity <TUser, TRole>(this ServiceCollection services)
     where TUser : class
     where TRole : class
 {
     services.Add(IdentityServices.GetDefaultUserServices <TUser>());
     services.Add(IdentityServices.GetDefaultRoleServices <TRole>());
     services.AddScoped <UserManager <TUser> >();
     services.AddScoped <SignInManager <TUser> >();
     services.AddScoped <RoleManager <TRole> >();
     services.AddScoped <IClaimsIdentityFactory <TUser>, ClaimsIdentityFactory <TUser, TRole> >();
     return(new IdentityBuilder <TUser, TRole>(services));
 }
Esempio n. 6
0
        public HttpResponseMessage CreateCustomer(CreateCustomerRequest request)
        {
            CreateCustomerResponse responseData = null;

            try
            {
                //Authenticate API key
                long?hostId = HostServices.GetCallerHostId();
                if (!hostId.HasValue)
                {
                    Log.Warn(ResponseMessages.InvalidAPIKey);
                    return(Request.CreateResponse(new GenericResponse(null, ResponseCodes.InvalidAPIKey, ResponseMessages.InvalidAPIKey)));
                }

                //Validate input
                if (request == null ||
                    string.IsNullOrEmpty(request.ReferenceId))
                {
                    return(Request.CreateResponse(new GenericResponse(null, ResponseCodes.InvalidParam, ResponseMessages.InvalidParam)));
                }

                //Validate input length
                if (request.ReferenceId.Length > 30)
                {
                    return(Request.CreateResponse(new GenericResponse(null, ResponseCodes.InvalidParam, "Reference ID (max 30 length) is too long.")));
                }

                //Validate customer reference ID
                IdentityServices identityService = new IdentityServices();
                if (identityService.IsRefIdExists(IdentityServices.RefIdTypes.Customer, hostId.Value, request.ReferenceId))
                {
                    return(Request.CreateResponse(new GenericResponse(null, ResponseCodes.DuplicateRefId, ResponseMessages.DuplicateRefId + " (Customer " + request.ReferenceId + ")")));
                }

                //Perform transaction
                CustomerServices customerServices = new CustomerServices();
                responseData = customerServices.CreateCustomer(hostId.Value, request);

                //Send response
                return(Request.CreateResponse(new GenericResponse(responseData, ResponseCodes.Success, ResponseMessages.Success)));
            }
            catch (Exception ex)
            {
                Log.Exception(ex);
                return(Request.CreateResponse(new GenericResponse(null, ResponseCodes.Error, ResponseMessages.Error)));
            }
        }
Esempio n. 7
0
        public ActionResult Login(LoginModel login)
        {
            if (HttpContext.User.Identity.IsAuthenticated)
            {
                return(RedirectToAction("Index", "Home"));
            }

            if (ModelState.IsValid)
            {
                var identityServices = new IdentityServices();

                var result = identityServices.Login(login);

                if (result)
                {
                    return(RedirectToAction("Index", "Home"));
                }
                else
                {
                    ModelState.AddModelError("", "Incorrect username or password.");
                }
            }
            return(View(login));
        }
Esempio n. 8
0
        public HttpResponseMessage CreateEvent(CreateEventsRequest request)
        {
            try
            {
                //Authenticate API key
                long?hostId = HostServices.GetCallerHostId();
                if (!hostId.HasValue)
                {
                    Log.Warn(ResponseMessages.InvalidAPIKey);
                    return(Request.CreateResponse(new GenericResponse(null, ResponseCodes.InvalidAPIKey, ResponseMessages.InvalidAPIKey)));
                }

                //Validate input
                if (request == null ||
                    string.IsNullOrEmpty(request.ReferenceId) ||
                    string.IsNullOrEmpty(request.Title) ||
                    !request.StartDate.HasValue ||
                    request.Tiers == null ||
                    request.Tiers.Count == 0)
                {
                    return(Request.CreateResponse(new GenericResponse(null, ResponseCodes.InvalidParam, ResponseMessages.InvalidParam)));
                }

                //Validate input length
                if (request.ReferenceId.Length > 30)
                {
                    return(Request.CreateResponse(new GenericResponse(null, ResponseCodes.InvalidParam, "Reference ID (max 30 length) is too long.")));
                }
                if (request.Title.Length > 200 || request.Description.Length > 500)
                {
                    return(Request.CreateResponse(new GenericResponse(null, ResponseCodes.InvalidParam, "Title (max 200 length) or Description (max 500 length) is too long.")));
                }
                if (request.Tiers.Count > 10)
                {
                    return(Request.CreateResponse(new GenericResponse(null, ResponseCodes.InvalidParam, "Only a maximum of 10 tiers allowed.")));
                }

                //Ensure that start date is in future
                if (DateTime.UtcNow.Date > request.StartDate.Value)
                {
                    return(Request.CreateResponse(new GenericResponse(null, ResponseCodes.InvalidParam, "Event start date must be a future date.")));
                }

                //Validate event reference ID
                IdentityServices identityService = new IdentityServices();
                if (identityService.IsRefIdExists(IdentityServices.RefIdTypes.Event, hostId.Value, request.ReferenceId))
                {
                    return(Request.CreateResponse(new GenericResponse(null, ResponseCodes.DuplicateRefId, ResponseMessages.DuplicateRefId + " (Event " + request.ReferenceId + ")")));
                }
                //Validate event tier reference ID and input length
                foreach (var tier in request.Tiers)
                {
                    if (tier.ReferenceId.Length > 30)
                    {
                        return(Request.CreateResponse(new GenericResponse(null, ResponseCodes.InvalidParam, "Reference ID (max 30 length) is too long.")));
                    }
                    if (identityService.IsRefIdExists(IdentityServices.RefIdTypes.EventTier, hostId.Value, tier.ReferenceId))
                    {
                        return(Request.CreateResponse(new GenericResponse(null, ResponseCodes.DuplicateRefId, ResponseMessages.DuplicateRefId + " (Tier " + tier.ReferenceId + ")")));
                    }
                    if (tier.Title.Length > 200)
                    {
                        return(Request.CreateResponse(new GenericResponse(null, ResponseCodes.InvalidParam, "Tier Title (max 200 length) is too long.")));
                    }
                }

                //Perform transaction
                EventsServices eventsService = new EventsServices();
                eventsService.CreateEvent(hostId.Value, request);

                //Send response
                return(Request.CreateResponse(new GenericResponse(null, ResponseCodes.Success, ResponseMessages.Success)));
            }
            catch (Exception ex)
            {
                Log.Exception(ex);
                return(Request.CreateResponse(new GenericResponse(null, ResponseCodes.Error, ResponseMessages.Error)));
            }
        }
Esempio n. 9
0
 public UserController(IdentityServices identityServices)
 {
     _identityServices = identityServices;
 }