summary refs log tree commit diff
path: root/synapse/config/jwt.py
diff options
context:
space:
mode:
authorKostas <vrinek@users.noreply.github.com>2021-11-22 19:01:03 +0100
committerGitHub <noreply@github.com>2021-11-22 13:01:03 -0500
commit1035663833a76196c3e3ba425fd6500c5420bbe2 (patch)
tree8babbe56e354631364b4de4dca22ac9b9ee1a154 /synapse/config/jwt.py
parentStore arbitrary relations from events. (#11391) (diff)
downloadsynapse-1035663833a76196c3e3ba425fd6500c5420bbe2.tar.xz
Add config for customizing the claim used for JWT logins. (#11361)
Allows specifying a different claim (from the default "sub") to use
when calculating the localpart of the Matrix ID used during the
JWT login.
Diffstat (limited to 'synapse/config/jwt.py')
-rw-r--r--synapse/config/jwt.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/synapse/config/jwt.py b/synapse/config/jwt.py
index 9d295f5856..24c3ef01fc 100644
--- a/synapse/config/jwt.py
+++ b/synapse/config/jwt.py
@@ -31,6 +31,8 @@ class JWTConfig(Config):
             self.jwt_secret = jwt_config["secret"]
             self.jwt_algorithm = jwt_config["algorithm"]
 
+            self.jwt_subject_claim = jwt_config.get("subject_claim", "sub")
+
             # The issuer and audiences are optional, if provided, it is asserted
             # that the claims exist on the JWT.
             self.jwt_issuer = jwt_config.get("issuer")
@@ -46,6 +48,7 @@ class JWTConfig(Config):
             self.jwt_enabled = False
             self.jwt_secret = None
             self.jwt_algorithm = None
+            self.jwt_subject_claim = None
             self.jwt_issuer = None
             self.jwt_audiences = None
 
@@ -88,6 +91,12 @@ class JWTConfig(Config):
             #
             #algorithm: "provided-by-your-issuer"
 
+            # Name of the claim containing a unique identifier for the user.
+            #
+            # Optional, defaults to `sub`.
+            #
+            #subject_claim: "sub"
+
             # The issuer to validate the "iss" claim against.
             #
             # Optional, if provided the "iss" claim will be required and