示例#1
0
def reset_token_email(token):

    # Verify if URL includes valid token
    user = User.verify_auth_token_email(token)

    # Handle if URL is (not) valid
    if user is None:
        flash('Token invalid or expired.', 'warning')  # display message
        return redirect(url_for('users.login'))

    form = ResetEmailForm()

    if form.validate_on_submit():
        # Replace email with updated email
        current_user.email = current_user.temp_email  # set new email
        current_user.temp_email = None  # reset temp_email field
        db.session.commit()  # save changes

        # Inform user that email has been changed
        flash(f'Email changed!', 'success')
        return redirect(url_for('users.login'))

    return render_template('reset_token_email.html',
                           title='Reset Email',
                           form=form)  # key variables for .html
示例#2
0
def auth_token(token):

    # If user is already logged in, return to home page
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))

    # Verify if URL includes valid token
    user = User.verify_auth_token_email(token)

    # Handle if URL is (not) valid
    if user is None:  # if not valid
        flash(f'Token invalid or expired.', 'warning')
        return redirect(url_for('users.register'))
    else:  # if valid
        user.confirm_account = True  # record that email/account is verified
        user.date_verify = datetime.now()  # record verified date/time
        db.session.commit()  # save changes
        # Inform user that email has been verified has been reset
        flash(f'Email verified!', 'success')
        return redirect(url_for('users.login'))