aboutsummaryrefslogtreecommitdiff
path: root/gn_auth/auth/authentication
diff options
context:
space:
mode:
authorFrederick Muriuki Muriithi2024-08-19 13:56:56 -0500
committerFrederick Muriuki Muriithi2024-08-19 13:56:56 -0500
commite686d9be8b4d78bcc7348323f0ddc45f5548178d (patch)
treeaede5176187e2f927863882eb62e237b30982c1d /gn_auth/auth/authentication
parentbdcc9938343c838a8c0be98e6bf53d3bbc03d9df (diff)
downloadgn-auth-e686d9be8b4d78bcc7348323f0ddc45f5548178d.tar.gz
Show "Forgot Password" link.
Provide the user with the "Forgot Password" link, if the backend supports it.
Diffstat (limited to 'gn_auth/auth/authentication')
-rw-r--r--gn_auth/auth/authentication/oauth2/views.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/gn_auth/auth/authentication/oauth2/views.py b/gn_auth/auth/authentication/oauth2/views.py
index ca1cf5a..d0b55b4 100644
--- a/gn_auth/auth/authentication/oauth2/views.py
+++ b/gn_auth/auth/authentication/oauth2/views.py
@@ -47,6 +47,14 @@ def authorise():
flash("Invalid OAuth2 client.", "alert-danger")
if request.method == "GET":
+ def __forgot_password_table_exists__(conn):
+ with db.cursor(conn) as cursor:
+ cursor.execute("SELECT name FROM sqlite_master "
+ "WHERE type='table' "
+ "AND name='forgot_password_tokens'")
+ return bool(cursor.fetchone())
+ return False
+
client = server.query_client(request.args.get("client_id"))
_src = urlparse(request.args["redirect_uri"])
return render_template(
@@ -55,7 +63,9 @@ def authorise():
scope=client.scope,
response_type=request.args["response_type"],
redirect_uri=request.args["redirect_uri"],
- source_uri=f"{_src.scheme}://{_src.netloc}/")
+ source_uri=f"{_src.scheme}://{_src.netloc}/",
+ display_forgot_password=with_db_connection(
+ __forgot_password_table_exists__))
form = request.form
def __authorise__(conn: db.DbConnection):