大致思路:
1.点击一个验证按钮后,像邮箱发送一封信。
2.用户点击信封的链接后,跳转到一个页面,可以是忘记密码的页面,也可以是其他页面。
给用户发送的链接需要是独一无二的
1.生成email密文:
# 生成email密文,
def generate_confirmation_token(email):
serializer = URLSafeTimedSerializer(app.config["SECRET_KEY"])
return serializer.dumps(email, app.config["SECURITY_PASSWORD_SALT"])
2.确认email密文:
# 确认email密文
def confirm_token(token, expiration=3600):
serializer = URLSafeTimedSerializer(app.config["SECRET_KEY"])
try:
email = serializer.loads(
token,
salt=app.config['SECURITY_PASSWORD_SALT'],
max_age=expiration
)
except:
return False
return email
2.点击按钮,发送一封邮箱
邮箱的配置可以看