示例#1
0
        public async Task <ConfirmationResult> ConfirmAccountAsync(string secret)
        {
            var userName = await _clientAppRepository.GetUserNameFromTokenAsync(secret);

            if (userName == null)
            {
                return(ConfirmationResult.Failure);
            }

            if (WebSecurity.IsConfirmed(userName))
            {
                return(ConfirmationResult.UserAlreadyConfirmed);
            }

            var success = WebSecurity.ConfirmAccount(secret);

            if (success)
            {
                var passwordResetToken = WebSecurity.GeneratePasswordResetToken(userName);
                var result             = ConfirmationResult.Successful(userName, passwordResetToken);
                return(result);
            }

            return(ConfirmationResult.Failure);
        }
        public async Task <ConfirmationResult> ConfirmAccount(string userEmail, string secret)
        {
            if (await _identityProvider.VerifyUserEmailConfirmed(userEmail))
            {
                return(ConfirmationResult.UserAlreadyConfirmed);
            }

            var success = await _identityProvider.ConfirmEmailWithToken(userEmail, secret);

            if (success)
            {
                var passwordResetToken = await _identityProvider.GeneratePasswordResetToken(userEmail);

                var result = ConfirmationResult.Successful(userEmail, passwordResetToken);
                return(result);
            }

            return(ConfirmationResult.Failure);
        }