Esempio n. 1
0
        public async Task <RestoreAccessResult> RestoreAccess(RestoreAccessDto restoreRequest)
        {
            var(result, user, newPassword) = await accountManager.RestoreAccess(restoreRequest.Email);

            switch (result)
            {
            case RestoreAccessResult.ResendConfirmationCode:
                await emailManager.EnqueueEmailConfirmation(user, GetEmailConfirmationUrl(user.ConfirmationCode));

                break;

            case RestoreAccessResult.ResetPassword:
                await emailManager.EnqueuePasswordResetEmail(user, newPassword, Url.Combine(appConfiguration.BaseUrl, appConfiguration.LogInUrl));

                break;
            }

            return(result);
        }