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(); } }
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); }
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; } }
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; } } }
private void CreateAndLoginUser() { if (!IsValid) { return; } var manager = Context.GetOwinContext().GetUserManager <ApplicationUserManager>(); var signInManager = Context.GetOwinContext().GetUserManager <ApplicationSignInManager>(); var user = new ApplicationUser() { UserName = email.Text, Email = email.Text }; IdentityResult result = manager.Create(user); if (result.Succeeded) { var loginInfo = Context.GetOwinContext().Authentication.GetExternalLoginInfo(); if (loginInfo == null) { RedirectOnFail(); return; } result = manager.AddLogin(user.Id, loginInfo.Login); if (result.Succeeded) { signInManager.SignIn(user, isPersistent: false, rememberBrowser: false); // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771 // var code = manager.GenerateEmailConfirmationToken(user.Id); // Send this link via email: IdentityHelper.GetUserConfirmationRedirectUrl(code, user.Id) IdentityHelpers.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response); return; } } AddErrors(result); }
protected void _SignInButton_Click(object sender, EventArgs e) { if (IsValid) { // Validate the user password var manager = Context.GetOwinContext().GetUserManager <ApplicationUserManager>(); var signinManager = Context.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(UserNameTextBox.Text, PasswordButtonEdit.Text, isPersistent: false, shouldLockout: false); switch (result) { case SignInStatus.Success: IdentityHelpers.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response); break; case SignInStatus.LockedOut: Response.Redirect("~/Account/Lockout.aspx"); break; case SignInStatus.RequiresVerification: Response.Redirect(String.Format("/Account/TwoFactorAuthenticationSignIn.aspx?ReturnUrl={0}&RememberMe={1}", Request.QueryString["ReturnUrl"], false), true); break; case SignInStatus.Failure: default: UserNameTextBox.ErrorText = "Invalid user"; UserNameTextBox.IsValid = false; break; } } }