This is an automated email from the ASF dual-hosted git repository. sebb pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-ponymail-foal.git
commit ec41a7411c419c68d98278ed53140ca1e4d7736a Author: Sebb <[email protected]> AuthorDate: Thu Jan 27 13:00:06 2022 +0000 Add constant for magic string 'generic' --- server/endpoints/oauth.py | 2 +- server/plugins/session.py | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/server/endpoints/oauth.py b/server/endpoints/oauth.py index 8e18e2f..b2f4bd6 100644 --- a/server/endpoints/oauth.py +++ b/server/endpoints/oauth.py @@ -57,7 +57,7 @@ async def process( if not uid: uid = rv.get("email") if uid: - oauth_provider = rv.get("oauth_domain", "generic") + oauth_provider = rv.get("oauth_domain", plugins.session.OAUTH_PROVIDER_DEFAULT) cid = hashlib.shake_128( ("%s-%s" % (oauth_provider, uid)).encode("ascii", "ignore") ).hexdigest(16) diff --git a/server/plugins/session.py b/server/plugins/session.py index 433fd5b..e08cdc0 100644 --- a/server/plugins/session.py +++ b/server/plugins/session.py @@ -31,6 +31,7 @@ import copy FOAL_MAX_SESSION_AGE = 86400 * 7 # Max 1 week between visits before voiding a session FOAL_SAVE_SESSION_INTERVAL = 3600 # Update sessions on disk max once per hour DATABASE_NOT_CONNECTED = "Database not connected!" +OAUTH_PROVIDER_DEFAULT = "generic" class SessionCredentials: uid: str @@ -46,7 +47,7 @@ class SessionCredentials: self.uid = doc.get("uid", "") self.name = doc.get("name", "") self.email = doc.get("email", "") - self.oauth_provider = doc.get("oauth_provider", "generic") + self.oauth_provider = doc.get("oauth_provider", OAUTH_PROVIDER_DEFAULT) self.authoritative = doc.get("authoritative", False) self.admin = doc.get("admin", False) self.oauth_data = doc.get("oauth_data", {}) @@ -54,7 +55,7 @@ class SessionCredentials: self.uid = "" self.name = "" self.email = "" - self.oauth_provider = "generic" + self.oauth_provider = OAUTH_PROVIDER_DEFAULT self.authoritative = False self.admin = False self.oauth_data = {} @@ -164,7 +165,7 @@ async def get_session( internal.get("oauth_provider") in server.config.oauth.authoritative_domains ) - creds["oauth_provider"] = internal.get("oauth_provider", "generic") + creds["oauth_provider"] = internal.get("oauth_provider", OAUTH_PROVIDER_DEFAULT) creds["oauth_data"] = internal.get("oauth_data", {}) # We update admin boolean whenever we fetch session doc, as they may have changed in yaml but not in ES. creds["admin"] = creds["authoritative"] and creds.get('email') in server.config.oauth.admins
