Use SERVER_NAME instead of URL. Fixes #24

This commit is contained in:
Éloi Rivard 2020-10-29 13:20:27 +01:00
parent dfa98cb656
commit 851a4f525f
3 changed files with 18 additions and 14 deletions

View file

@ -105,12 +105,13 @@ def forgotten():
return render_template("forgotten-password.html", form=form)
recipient = user.mail
base_url = current_app.config.get("URL") or request.url_root
reset_url = base_url + url_for(
base_url = url_for("canaille.account.index", _external=True)
reset_url = url_for(
"canaille.account.reset",
uid=user.uid[0],
hash=profile_hash(user.uid[0], user.userPassword[0]),
)[1:]
_external=True,
)
logo = None
logo_extension = None
if current_app.config.get("LOGO"):
@ -128,13 +129,13 @@ def forgotten():
text_body = render_template(
"mail/reset.txt",
site_name=current_app.config.get("NAME", reset_url),
site_url=current_app.config.get("URL", base_url),
site_url=base_url,
reset_url=reset_url,
)
html_body = render_template(
"mail/reset.html",
site_name=current_app.config.get("NAME", reset_url),
site_url=current_app.config.get("URL", base_url),
site_url=base_url,
reset_url=reset_url,
logo=logo,
logo_extension=logo_extension,

View file

@ -11,12 +11,13 @@ bp = Blueprint(__name__, "clients")
@bp.route("/reset.html")
@admin_needed()
def reset_html(user):
base_url = current_app.config.get("URL") or request.url_root
reset_url = base_url + url_for(
base_url = url_for("canaille.account.index", _external=True)
reset_url = url_for(
"canaille.account.reset",
uid=user.uid[0],
hash=profile_hash(user.uid[0], user.userPassword[0]),
)[1:]
_external=True,
)
logo = None
logo_extension = None
@ -31,7 +32,7 @@ def reset_html(user):
return render_template(
"mail/reset.html",
site_name=current_app.config.get("NAME", reset_url),
site_url=current_app.config.get("URL", base_url),
site_url=base_url,
reset_url=reset_url,
logo=logo,
logo_extension=logo_extension,
@ -41,16 +42,17 @@ def reset_html(user):
@bp.route("/reset.txt")
@admin_needed()
def reset_txt(user):
base_url = current_app.config.get("URL") or request.url_root
reset_url = base_url + url_for(
base_url = url_for("canaille.account.index", _external=True)
reset_url = url_for(
"canaille.account.reset",
uid=user.uid[0],
hash=profile_hash(user.uid[0], user.userPassword[0]),
)[1:]
_external=True,
)
return render_template(
"mail/reset.txt",
site_name=current_app.config.get("NAME", reset_url),
site_url=current_app.config.get("URL", base_url),
site_url=current_app.config.get("SERVER_NAME", base_url),
reset_url=reset_url,
)

View file

@ -5,7 +5,8 @@ SECRET_KEY = "change me before you go in production"
NAME = "MyDomain"
# The interface on which canaille will be served
# URL = "https://auth.mydomain.tld"
# URL = "auth.mydomain.tld"
# PREFERRED_URL_SCHEME = "https"
# You can display a logo to be recognized on login screens
# LOGO = "https://path/to/your/organization/logo.png"