Example #1
0
        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();
            }
        }
Example #2
0
        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;
            }
        }
Example #4
0
        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;
                }
            }
        }
Example #5
0
        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);
        }
Example #6
0
        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;
                }
            }
        }