mirror of
https://github.com/Mailu/Mailu.git
synced 2025-02-15 13:33:21 +02:00
Fix the token generation process
This commit is contained in:
parent
291fbe7bc4
commit
30dfefb24d
@ -105,9 +105,10 @@ class UserReplyForm(flask_wtf.FlaskForm):
|
||||
|
||||
|
||||
class TokenForm(flask_wtf.FlaskForm):
|
||||
raw_password = fields.StringField(
|
||||
displayed_password = fields.StringField(
|
||||
_('Your token (write it down, as it will never be displayed again)')
|
||||
)
|
||||
raw_password = fields.HiddenField([validators.DataRequired()])
|
||||
comment = fields.StringField(_('Comment'))
|
||||
ip = fields.StringField(
|
||||
_('Authorized IP'), [validators.Optional(), validators.IPAddress()]
|
||||
|
@ -24,12 +24,14 @@ def token_create(user_email):
|
||||
user_email = user_email or flask_login.current_user.email
|
||||
user = models.User.query.get(user_email) or flask.abort(404)
|
||||
form = forms.TokenForm()
|
||||
form.raw_password.data = pwd.genword(entropy=128, charset="hex")
|
||||
wtforms_components.read_only(form.raw_password)
|
||||
wtforms_components.read_only(form.displayed_password)
|
||||
if not form.raw_password.data:
|
||||
form.raw_password.data = pwd.genword(entropy=128, charset="hex")
|
||||
form.displayed_password.data = form.raw_password.data
|
||||
if form.validate_on_submit():
|
||||
token = models.Token(user=user)
|
||||
form.populate_obj(token)
|
||||
token.set_password(form.raw_password.data)
|
||||
form.populate_obj(token)
|
||||
db.session.add(token)
|
||||
db.session.commit()
|
||||
flask.flash('Authentication token created')
|
||||
|
Loading…
x
Reference in New Issue
Block a user