コード例 #1
0
        public bool CreateEmailVerificationRequest(User user)
        {
            Debug.WriteLine("Creating Verification Token of user {0}", user.Id);

            VerificationToken token = new VerificationToken();

            token.IsVerified = false;
            token.Token      = Guid.NewGuid().ToString();
            token.User       = user;

            Repository.Save <VerificationToken>(token);

            Debug.WriteLine("Created verification token", token.ToString());
            Debug.WriteLine("Sending verification email for verification token {0}", token.Id);

            string subject = "Welcome to " + Application.GetSettings(SettingType.GENERAL).ApplicationName.ToString();

            emailService.Sent("WelcomeEmail", subject, user.Email, new
            {
                User    = user,
                Token   = token.Token,
                Domain  = Application.GetSettings(SettingType.GENERAL).RootDomain.ToString(),
                AppName = Application.GetSettings(SettingType.GENERAL).ApplicationName.ToString(),
            });

            return(true);
        }
コード例 #2
0
        public bool VerifyUserEmail(EmailVerificationRequest verificationRequest)
        {
            bool isVerified = false;

            if (verificationRequest != null)
            {
                Util.SetAnonymousCredentials();
                var requestExpression = PredicateBuilder.Create <VerificationToken>(t => t.Token == verificationRequest.Token &&
                                                                                    t.IsVerified == false);

                VerificationToken token = Repository.Get <VerificationToken>(requestExpression);

                if (token != null)
                {
                    token.IsVerified   = true;
                    token.VerifiedDate = DateTime.UtcNow;

                    Repository.Save <VerificationToken>(token);
                    isVerified = true;
                }
                else
                {
                    throw new Exception("Verification token is invalid or expired");
                }
            }

            return(isVerified);
        }