Пример #1
0
        public async Task <IActionResult> ResetPassword(string code = null)
        {
            // Build breadcrumb
            _breadCrumbManager.Configure(builder =>
            {
                builder.Add(S["Home"], home => home
                            .Action("Index", "Home", "Plato.Core")
                            .LocalNav())
                .Add(S["Reset Password"]);
            });

            // Check token
            var isValidResetToken = false;

            if (!String.IsNullOrEmpty(code))
            {
                if (code.IsBase64String())
                {
                    var user = await _platoUserStore.GetByResetToken(Encoding.UTF8.GetString(Convert.FromBase64String(code)));

                    if (user != null)
                    {
                        isValidResetToken = true;
                    }
                }
                else
                {
                    var user = await _platoUserStore.GetByResetToken(code);

                    if (user != null)
                    {
                        isValidResetToken = true;
                    }
                }
            }

            // Return view
            return(View(new ResetPasswordViewModel
            {
                IsValidResetToken = isValidResetToken,
                ResetToken = code
            }));
        }