summary refs log tree commit diff
path: root/synapse/config/jwt.py
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2016-04-26 11:07:22 +0100
committerErik Johnston <erik@matrix.org>2016-04-26 11:07:22 +0100
commit3306cf45ca3532506db1eaee85f60b422a9810c9 (patch)
tree8e9e998985adb44ca1c2044f73f31a1002880e12 /synapse/config/jwt.py
parentMerge pull request #752 from matrix-org/markjh/more_updates (diff)
parentMake pyjwt dependency optional (diff)
downloadsynapse-3306cf45ca3532506db1eaee85f60b422a9810c9.tar.xz
Merge pull request #750 from matrix-org/erikj/jwt_optional
Make pyjwt dependency optional
Diffstat (limited to 'synapse/config/jwt.py')
-rw-r--r--synapse/config/jwt.py17
1 files changed, 16 insertions, 1 deletions
diff --git a/synapse/config/jwt.py b/synapse/config/jwt.py
index 5c8199612b..47f145c589 100644
--- a/synapse/config/jwt.py
+++ b/synapse/config/jwt.py
@@ -13,7 +13,16 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-from ._base import Config
+from ._base import Config, ConfigError
+
+
+MISSING_JWT = (
+    """Missing jwt library. This is required for jwt login.
+
+    Install by running:
+        pip install pyjwt
+    """
+)
 
 
 class JWTConfig(Config):
@@ -23,6 +32,12 @@ class JWTConfig(Config):
             self.jwt_enabled = jwt_config.get("enabled", False)
             self.jwt_secret = jwt_config["secret"]
             self.jwt_algorithm = jwt_config["algorithm"]
+
+            try:
+                import jwt
+                jwt  # To stop unused lint.
+            except ImportError:
+                raise ConfigError(MISSING_JWT)
         else:
             self.jwt_enabled = False
             self.jwt_secret = None