diff options
| author | rr- | 2018-07-08 10:04:09 +0200 |
|---|---|---|
| committer | rr- | 2018-07-08 10:10:06 +0200 |
| commit | c9cb9aa5394d02582b1a716dd9e52e83391d9bea (patch) | |
| tree | f9511f9ec54426c70089fab57d23f1ec3f230537 /server/szurubooru/api | |
| parent | d85e746a656ca213bad8ce8a725e734990b73f72 (diff) | |
server/password-reset: try to construct full URL
Diffstat (limited to 'server/szurubooru/api')
| -rw-r--r-- | server/szurubooru/api/password_reset_api.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/server/szurubooru/api/password_reset_api.py b/server/szurubooru/api/password_reset_api.py index 83afeae..887d2f0 100644 --- a/server/szurubooru/api/password_reset_api.py +++ b/server/szurubooru/api/password_reset_api.py @@ -13,7 +13,7 @@ MAIL_BODY = ( @rest.routes.get('/password-reset/(?P<user_name>[^/]+)/?') def start_password_reset( - _ctx: rest.Context, params: Dict[str, str]) -> rest.Response: + ctx: rest.Context, params: Dict[str, str]) -> rest.Response: user_name = params['user_name'] user = users.get_user_by_name_or_email(user_name) if not user.email: @@ -21,12 +21,19 @@ def start_password_reset( 'User %r hasn\'t supplied email. Cannot reset password.' % ( user_name)) token = auth.generate_authentication_token(user) - url = '/password-reset/%s:%s' % (user.name, token) + + if 'HTTP_ORIGIN' in ctx.env: + url = ctx.env['HTTP_ORIGIN'].rstrip('/') + else: + url = '' + url += '/password-reset/%s:%s' % (user.name, token) + mailer.send_mail( 'noreply@%s' % config.config['name'], user.email, MAIL_SUBJECT.format(name=config.config['name']), MAIL_BODY.format(name=config.config['name'], url=url)) + return {} |