public ActionResult RemoveFromCart(Int32 cartItemID) { var importantCartUpdates = new List <String>(); var user = _userService.Get(IdentityHelpers.GetUserId(this.User.Identity)); var cartItems = _cartService.GetCart(user); if (cartItems.FirstOrDefault(ci => ci.CartItemID == cartItemID) != null) { _cartService.RemoveItemFromCart(user, cartItemID); _uow.Save(); importantCartUpdates.Add("The item has been removed from your cart."); } else { return(new HttpUnauthorizedResult()); } TempData.Add("ImportantCartUpdates", importantCartUpdates); return(RedirectToAction("Index")); }
//Get user profile date in terms of claims when calling /connect/userinfo public async Task GetProfileDataAsync(ProfileDataRequestContext context) { try { var email = context.Subject.Claims.FirstOrDefault(x => x.Type == "sub"); if (email == null) { _logger.LogError("No claim of type 'sub'"); } else if (email.Value == null) { _logger.LogError("email in 'sub' claim is empty"); } else { var user = await UserServices.FindAsync(email.Value); if (user != null) { var claims = IdentityHelpers.GetUserClaims(user); context.IssuedClaims = claims.Where(x => context.RequestedClaimTypes.Contains(x.Type)).ToList(); } } } catch (Exception ex) { _logger.LogError("error happend while setting issued claims + \n" + ex.Message); } }
protected void CodeSubmit_Click(object sender, EventArgs e) { bool rememberMe = false; bool.TryParse(Request.QueryString["RememberMe"], out rememberMe); var result = signinManager.TwoFactorSignIn <ApplicationUser, string>(HiddenField["Provider"].ToString(), Code.Text, isPersistent: rememberMe, rememberBrowser: RememberBrowser.Checked); switch (result) { case SignInStatus.Success: IdentityHelpers.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response); break; case SignInStatus.LockedOut: Response.Redirect("/Account/Lockout.aspx"); break; case SignInStatus.Failure: default: Code.ErrorText = "Invalid Code"; Code.IsValid = false; break; } }
public CohortBuilder() { var id = IdentityHelpers.GetNextCohortId(); Messages = 1; //todo: most of this should be pushed into WithXXX methods _commitment = new Commitment { Id = id, Reference = HashingHelper.Encode(id), CommitmentStatus = CommitmentStatus.Active, EditStatus = EditStatus.Employer, CreatedOn = System.DateTime.Now, LastAction = LastAction.None, TransferSenderId = null, TransferSenderName = "", TransferApprovalStatus = null, LastUpdatedByEmployerName = "", LastUpdatedByEmployerEmail = "", LastUpdatedByProviderName = "", LastUpdatedByProviderEmail = "" }; _apprenticeshipBuilders = new List <ApprenticeshipBuilder>(); }
public static bool SignIn(string userName, string password, bool RememberMeCheckBox) { // Validate the user password var manager = HttpContext.Current.GetOwinContext().GetUserManager <ApplicationUserManager>(); var signinManager = HttpContext.Current.GetOwinContext().GetUserManager <ApplicationSignInManager>(); // This doen't count login failures towards account lockout // To enable password failures to trigger lockout, change to shouldLockout: true var result = signinManager.PasswordSignIn(userName, password, isPersistent: false, shouldLockout: true); switch (result) { case SignInStatus.Success: CustomSignIn(userName, password, RememberMeCheckBox); IdentityHelpers.RedirectToReturnUrl(HttpContext.Current.Request.QueryString["ReturnUrl"], HttpContext.Current.Response); break; case SignInStatus.LockedOut: HttpContext.Current.Response.Redirect("~/Account/Lockout.aspx"); break; case SignInStatus.RequiresVerification: HttpContext.Current.Response.Redirect(String.Format("/Account/TwoFactorAuthenticationSignIn.aspx?ReturnUrl={0}&RememberMe={1}", HttpContext.Current.Request.QueryString["ReturnUrl"], false), true); break; case SignInStatus.Failure: default: return(false); } return(true); }
public ActionResult AddDetailsPost(AddDetailsViewModel model) { // Create a user too if missing var customer = _service.GetCustomer(model.UserName); if (customer == null) { var register = new RegisterInputModel() { UserName = model.UserName, Email = model.Email, FirstName = model.FirstName, LastName = model.LastName, Gender = model.Gender, Avatar = model.Avatar }; _service.Register(register); } var identity = IdentityHelpers.Create(model.UserName, model.Email, model.Gender, model.Avatar); AuthenticationManager.SignIn(new AuthenticationProperties { IsPersistent = true }, identity); return(RedirectToLocal(model.ReturnUrl)); }
public ActionResult AddToCart(Int32 productID, Int32 quantity = 1) { var product = _productService.Get(productID); if (product == null) { return(new HttpNotFoundResult("Product could not be found.")); } var user = _userService.Get(IdentityHelpers.GetUserId(this.User.Identity)); var cartItem = _cartService.GetCart(user).FirstOrDefault(ci => ci.ProductID == productID); if (cartItem != null) { } List <String> cartUpdates = _cartService.AddItemToCart(product, user, quantity); if (!cartUpdates.Any()) { _uow.Save(); } TempData.Add("ImportantCartUpdates", cartUpdates); return(RedirectToAction("Index")); }
//UNDONE POST ONLY // // POST: /Checkout/Checkout //[ValidateAntiForgeryToken] public ActionResult Checkout() { //Get current cart items var currentCartItems = _shoppingCartService .GetCartWithAssociatedProducts(ShoppingCartHelpers.GetShoppingCartID(this.ControllerContext)).ToList(); //If there are no cart items, redirect to the shoppingcart index if (!currentCartItems.Any()) { return(RedirectToAction("Index", "ShoppingCart")); } //Construct the model that will be the container for the collected checkout information CheckoutViewModel checkoutModel = new CheckoutViewModel(currentCartItems, Guid.NewGuid().ToString("N")); //Cache the container model at a well known location unique to the user, sliding expiration of 10 minutes CacheHelpers.InsertCheckoutInstanceIntoCache(checkoutModel, this.ControllerContext); //Construct & hydrate the first step viewmodel var availableAddressesForUser = _userService.GetUserWithAddresses(IdentityHelpers.GetUserId(User.Identity)).Addresses.AsEnumerable(); var model = checkoutModel.GetShippingViewModel(availableAddressesForUser); #region TestInformation #if DEBUG model.Email = "*****@*****.**"; model.PhoneNumber = "1234567890"; #endif #endregion return(View("ShippingInformation", model)); }
protected void Page_Load(object sender, EventArgs e) { if (IsEditing()) { ReportEditing(); return; } if (NeedsConfig()) { ReportNeedsConfiguration(); return; } if ((!ParentWebPart.AllowAnonymousLaunch) && (!Request.IsAuthenticated)) { throw new HttpException(403, "You must be signed in to continue."); } var actingUserName = Request.IsAuthenticated ? IdentityHelpers.GetUsedEmail(Page.User as IClaimsPrincipal) : "(anonymous)"; SessionManager.SaveIntegrationSession(Session, ParentWebPart.EndpointUri, ParentWebPart.ApiKey, string.Empty, actingUserName); try { var client = new LabOnDemandApiClient(ParentWebPart.EndpointUri, ParentWebPart.ApiKey); var labProfileIds = ParentWebPart.LabProfileIds.Split(','); var labTable = new Table { CssClass = "labTable" }; AddHeader(labTable); var count = 0; foreach (var labProfileIdString in labProfileIds) { AddComment(labProfileIdString); int labProfileId; if (!int.TryParse(labProfileIdString, out labProfileId)) { AddComment("(skipped)"); continue; } count++; var alternate = (count % 2) == 0; var labProfile = client.LabProfile(labProfileId); labTable.Rows.Add(GetFirstRow(labProfile, alternate)); labTable.Rows.Add(GetSecondRow(labProfile, alternate)); } Controls.Add(labTable); SessionManager.SessionAllowsAnonymous(Session, ParentWebPart.AllowAnonymousLaunch); } catch (Exception ex) { AddComment(ex.ToString()); AddLiteral("An error occurred retrieving the requested lab information."); } }
protected void Reset_Click(object sender, EventArgs e) { string code = IdentityHelpers.GetCodeFromRequest(Request); if (code != null) { var manager = Context.GetOwinContext().GetUserManager <ApplicationUserManager>(); var user = manager.FindByEmail(Email.Text); if (user == null) { ErrorMessage.Text = "No user found"; return; } var result = manager.ResetPassword(user.Id, code, Password.Text); if (result.Succeeded) { Response.Redirect("~/Account/ResetPasswordConfirmation.aspx"); return; } ErrorMessage.Text = result.Errors.FirstOrDefault(); return; } ErrorMessage.Text = "An error has occurred"; }
protected void RegisterButton_Click(object sender, EventArgs e) { // DXCOMMENT: Your Registration logic ApplicationUserManager manager = Context.GetOwinContext().GetUserManager <ApplicationUserManager>(); var signInManager = Context.GetOwinContext().Get <ApplicationSignInManager>(); var user = new ApplicationUser() { UserName = RegisterUserNameTextBox.Text, FullName = FullNameTextBox.Text, Email = EmailTextBox.Text, }; IdentityResult result = manager.Create(user, PasswordButtonEdit.Text); if (result.Succeeded) { // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771 string code = manager.GenerateEmailConfirmationToken(user.Id); string callbackUrl = IdentityHelpers.GetUserConfirmationRedirectUrl(code, user.Id, Request); manager.SendEmail(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>."); AuthHelper.SignIn(user.UserName, PasswordButtonEdit.Text, false); IdentityHelpers.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response); } else { ErrorMessage.Text = result.Errors.FirstOrDefault(); } }
/// <summary> /// If Authentication is successful, JWT tokens are generated. /// </summary> public virtual IToken GenerateToken(string username, IList <string> roles, DateTime tokenExpiredDate) { var tokenHandler = new JwtSecurityTokenHandler(); //Kullanıcıya ait roller Tokene Claim olarak ekleniyor var claimsIdentityList = new ClaimsIdentity(roles.Select(r => new Claim(ClaimTypes.Role, r))); //Kullanıcını UserName 'i tokena claim olarak ekleniyor claimsIdentityList.AddClaim(new Claim(ClaimTypes.Name, username)); //Kullanıcını UserName 'i tokena claim olarak ekleniyor claimsIdentityList.AddClaim(new Claim(ClaimTypes.Expired, value: tokenExpiredDate.ToString())); //Token üretimi için gerekli bilgiler , _tokenManagement => appsettings.json dosyasını okur var tokenDescriptor = new SecurityTokenDescriptor { Subject = claimsIdentityList, Issuer = _tokenManagement.Issuer, Audience = _tokenManagement.Audience, Expires = tokenExpiredDate, SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(Encoding.ASCII.GetBytes(_tokenManagement.Secret)), SecurityAlgorithms.HmacSha256Signature) }; var token = tokenHandler.CreateToken(tokenDescriptor);//Token Üretimi return(new MilvaToken { AccessToken = tokenHandler.WriteToken(token), Expiration = tokenExpiredDate, RefreshToken = IdentityHelpers.CreateRefreshToken() }); }
public static async Task ValidateApiKey(ApiKeyValidateIdentityContext context, String schema = null) { var dbContext = ServiceLocator.Current.GetService <IDbContext>(); var host = ServiceLocator.Current.GetService <IApplicationHost>(); schema = schema ?? "a2security"; var findUsersql = $"[{schema}].[FindApiUserByApiKey]"; var writeLogSql = $"[{schema}].[WriteLog]"; var prms = new ExpandoObject(); prms.Set("Host", context.Host); prms.Set("ApiKey", context.ApiKey); var user = await dbContext.LoadAsync <ApiAppUser>(host.CatalogDataSource, findUsersql, prms); if (user != null) { if (IdentityHelpers.IsValidIPAddress(user.AllowIP, context.Host)) { context.Claims = CreateClaims(user); context.IsValidated = true; } else { var fo = new ExpandoObject(); fo.Set("UserId", user.Id); fo.Set("SeverityChar", "W"); fo.Set("Code", 66 /*Api IP forbidden*/); fo.Set("Message", $"expected: '{user.AllowIP}', actual:'{context.Host}'"); await dbContext.ExecuteExpandoAsync(host.CatalogDataSource, writeLogSql, fo); } } }
private async Task <(Sensor, Sensor)> SeedDefaultCaseAsync() { var roleManager = IdentityHelpers.BuildRoleManager(ApplicationDbContextHelper.BuildTestDbContext()); await roleManager.CreateAsync(new IdentityRole <long>("Admin")); foreach (var userName in new[] { "normal-user-1", "normal-user-2", "normal-user-3", "admin-user" }) { await _userManager.CreateAsync(new User { UserName = userName, NormalizedUserName = userName.ToUpperInvariant(), SecurityStamp = Guid.NewGuid().ToString() }, "normal-password"); } var admin = await _userManager.FindByNameAsync("admin-user"); await _userManager.AddToRoleAsync(admin, "Admin"); var deviceName = "device"; var device = new Device { Name = deviceName, NormalizedName = deviceName.ToUpperInvariant(), AuthenticationType = DeviceAuthenticationType.PreSharedKey, PreSharedKey = "key" }; _dbContext.Devices.Add(device); var name1 = "sensor-1"; var sensor1 = new Sensor { Name = name1, NormalizedName = name1.ToUpperInvariant(), Device = device }; _dbContext.Sensors.Add(sensor1); var name2 = "sensor-2"; var sensor2 = new Sensor { Name = name2, NormalizedName = name2.ToUpperInvariant(), Device = device }; _dbContext.Sensors.Add(sensor2); var user1 = await _userManager.FindByNameAsync("normal-user-1"); var user2 = await _userManager.FindByNameAsync("normal-user-2"); _dbContext.UserSensors.Add(new UserSensor { UserId = user1.Id, Sensor = sensor1 }); _dbContext.UserSensors.Add(new UserSensor { UserId = user1.Id, Sensor = sensor2 }); _dbContext.UserSensors.Add(new UserSensor { UserId = user2.Id, Sensor = sensor1 }); await _dbContext.SaveChangesAsync(); return(sensor1, sensor2); }
public ApprenticeshipBuilder(CohortBuilder cohortBuilder) { CohortBuilder = cohortBuilder; Id = IdentityHelpers.GetNextApprenticeshipId(); Started = ApprenticeshipStartedOption.Random; Stopped = ApprenticeshipStopOption.NotStopped; Cost = 2000; }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); IdentityHelpers.SeedRolesAndUsers(); }
public DashboardServiceTest() { _initial = SystemClock.Instance.GetCurrentInstant(); _dbContext = ApplicationDbContextHelper.BuildTestDbContext(); _userManager = IdentityHelpers.BuildUserManager(ApplicationDbContextHelper.BuildTestDbContext()); _roleManager = IdentityHelpers.BuildRoleManager(ApplicationDbContextHelper.BuildTestDbContext()); _service = new DashboardService(_dbContext, _userManager); }
public UserManagementServiceTest() { _clock = new FakeClock(SystemClock.Instance.GetCurrentInstant()); _dbContext = ApplicationDbContextHelper.BuildTestDbContext(_clock); _userManager = IdentityHelpers.BuildUserManager(ApplicationDbContextHelper.BuildTestDbContext(_clock)); _roleManager = IdentityHelpers.BuildRoleManager(ApplicationDbContextHelper.BuildTestDbContext(_clock)); _service = new UserManagementService(_dbContext, _userManager, _roleManager, new NullLogger <UserManagementService>(), _clock); }
public ActionResult DisassociateAddress(Int32 addressId, String diff = "") { _userService.DisassociateAddress(IdentityHelpers.GetUserId(User.Identity), addressId); _uow.Save(); return(RedirectToAction("EditAddresses", "Account")); }
// // GET: /Account/EditProfile public ActionResult EditProfile() { var user = _userService.GetUserWithProfile(IdentityHelpers.GetUserId(User.Identity)); var model = Mapper.Map <UserProfileViewModel>(user.UserProfile); return(View(model)); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); ApplicationDbContext context = new ApplicationDbContext(); IdentityHelpers.SeedIdentities(context); }
// // GET: /Account/EditEmail public ActionResult EditEmail() { var user = _userService.Get(IdentityHelpers.GetUserId(User.Identity)); var model = new EditEmailViewModel() { CurrentEmailAddress = user.Email }; return(View(model)); }
private void SignIn(User user, bool isPersistent) { AuthenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie); var identity = IdentityHelpers.CreateIdentity(user); AuthenticationManager.SignIn(new AuthenticationProperties() { IsPersistent = isPersistent }, identity); }
public void CreateRole_ReturnsViewResult() { var mockRoleManager = IdentityHelpers.MockRoleManager <IdentityRole>(); var mockUserManager = IdentityHelpers.MockUserManager <IdentityUser>(); var controller = new RolesController(mockRoleManager.Object, mockUserManager.Object); var result = controller.Create(); var viewResult = Assert.IsType <ViewResult>(result); Assert.IsAssignableFrom <CreateRoleViewModel>(viewResult.ViewData.Model); }
protected void Page_Load() { // Process the result from an auth provider in the request ProviderName = IdentityHelpers.GetProviderNameFromRequest(Request); if (String.IsNullOrEmpty(ProviderName)) { RedirectOnFail(); return; } if (!IsPostBack) { var manager = Context.GetOwinContext().GetUserManager <ApplicationUserManager>(); var signInManager = Context.GetOwinContext().Get <ApplicationSignInManager>(); var loginInfo = Context.GetOwinContext().Authentication.GetExternalLoginInfo(); if (loginInfo == null) { RedirectOnFail(); return; } var user = manager.Find(loginInfo.Login); if (user != null) { signInManager.SignIn(user, isPersistent: false, rememberBrowser: false); IdentityHelpers.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response); } else if (User.Identity.IsAuthenticated) { // Apply Xsrf check when linking var verifiedloginInfo = Context.GetOwinContext().Authentication.GetExternalLoginInfo(IdentityHelpers.XsrfKey, User.Identity.GetUserId()); if (verifiedloginInfo == null) { RedirectOnFail(); return; } var result = manager.AddLogin(User.Identity.GetUserId(), verifiedloginInfo.Login); if (result.Succeeded) { IdentityHelpers.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response); } else { AddErrors(result); return; } } else { email.Text = loginInfo.Email; } } }
// // GET: /Account/DisassociateAddress/?addressId= public ActionResult DisassociateAddress(Int32 addressId) { var user = _userService.GetUserWithAddresses(IdentityHelpers.GetUserId(User.Identity)); var add = user.Addresses.FirstOrDefault(a => a.AddressID == addressId); if (add != null) { return(View(add)); } throw new HttpException(Convert.ToInt32(HttpStatusCode.NotFound), "Attempt to disassosciate non existing address."); }
public async Task Setup() { ConfigurationHelper.Initialise(TestContext.CurrentContext.TestDirectory); DbHelper.ClearDb(); IdentityHelpers.ClearAll(); //todo: allow other actors (types of provider) //var providerActor = (ProviderActor)TestContext.CurrentContext.Test.Arguments.GetValue(0); var provider = Actors.Provider.Create(); await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision); var launchOptions = new LaunchOptions { Headless = false, IgnoreHTTPSErrors = true, //SlowMo = 10 }; Console.WriteLine("Launching browser..."); Browser = await Puppeteer.LaunchAsync(launchOptions); var context = Browser.DefaultContext; Page = await context.NewPageAsync(); var url = LaunchPage.Url.Replace("{providerId}", provider.ProviderId.ToString()); Console.WriteLine($"Opening {url}"); var response = await Page.GoToAsync(url); //Realm selection await Page.ClickOn(LaunchPage.Realm); await Page.WaitForNavigationAsync(); await Page.TypeInputAsync(LaunchPage.Username, provider.Username); await Page.TypeInputAsync(LaunchPage.Password, provider.Password); Console.Write("Signing in... "); await Page.Keyboard.DownAsync("Enter"); //hit enter, rather than click button await Page.WaitForSelectorAsync(".govuk-header"); //await Page.WaitForNavigationAsync(); Console.WriteLine("Complete"); }
public JsonResult GetRecipeCommentsForUser(int recipeId) { var recipe = unitOfWork.RecipeRepository.GetById(recipeId); if (recipe != null) { var comments = recipe.Comments; var commentsJson = comments.Select(comment => new CommentJsonViewModel { UserId = comment.UserId, UserName = IdentityHelpers.GetUserName(comment.UserId), CommentText = comment.CommentText, CreateDateTime = String.Format("{0:r}", comment.CreateDateTime) }).ToList(); return(Json(commentsJson)); } return(null); }
public ActionResult Register(RegisterInputModel model) { // Add customer and sign in var succeeded = _service.Register(model); if (succeeded) { var identity = IdentityHelpers.Create(model.UserName, model.Email, model.Gender); AuthenticationManager.SignIn(new AuthenticationProperties { IsPersistent = true }, identity); return(RedirectToAction("Index", "Home")); } ModelState.AddModelError("failed", "Oh snap! Change a few things up and try again!"); return(View(model)); }
static void Main(string[] args) { ConfigurationHelper.Initialise(Directory.GetCurrentDirectory()); System.Console.ForegroundColor = ConsoleColor.Cyan; System.Console.WriteLine("Commitments Test Data Generator"); System.Console.WriteLine(); System.Console.ForegroundColor = ConsoleColor.White; var scenarios = Scenarios.GetScenarios(); while (true) { var count = 0; foreach (var scenario in scenarios) { System.Console.WriteLine($"{count}: {scenario.Title}"); count++; } System.Console.WriteLine(); System.Console.Write("Select scenario (enter quits): "); var stringInput = System.Console.ReadLine(); if (string.IsNullOrWhiteSpace(stringInput)) { break; } var input = Convert.ToInt32(stringInput); var selected = scenarios[input]; DbHelper.ClearDb(); IdentityHelpers.ClearAll(); selected.Action.Invoke(); System.Console.ForegroundColor = ConsoleColor.Green; System.Console.WriteLine("Scenario created"); System.Console.WriteLine(); System.Console.ForegroundColor = ConsoleColor.White; System.Console.WriteLine("Press a key..."); System.Console.ReadKey(); System.Console.WriteLine(); } }