Skip to content

Commit 043ba23

Browse files
committed
Store JWTManager in app.extensions['flask-jwt-extended'] instead of app.jwt_manager
1 parent 018c2fc commit 043ba23

File tree

3 files changed

+7
-5
lines changed

3 files changed

+7
-5
lines changed

flask_jwt_extended/jwt_manager.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,9 @@ def init_app(self, app):
6464
:param app: A flask application
6565
"""
6666
# Save this so we can use it later in the extension
67-
app.jwt_manager = self
67+
if not hasattr(app, 'extensions'): # pragma: no cover
68+
app.extensions = {}
69+
app.extensions['flask-jwt-extended'] = self
6870

6971
# Set all the default configurations for this extension
7072
self._set_default_configuration_options(app)

flask_jwt_extended/utils.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@ def decode_token(encoded_token):
7070

7171
def _get_jwt_manager():
7272
try:
73-
return current_app.jwt_manager
74-
except AttributeError: # pragma: no cover
73+
return current_app.extensions['flask-jwt-extended']
74+
except KeyError: # pragma: no cover
7575
raise RuntimeError("You must initialize a JWTManager with this flask "
7676
"application before using this method")
7777

tests/test_jwt_manager.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@ def _parse_callback_result(self, result):
2424
def test_init_app(self):
2525
jwt_manager = JWTManager()
2626
jwt_manager.init_app(self.app)
27-
self.assertIsInstance(jwt_manager, JWTManager)
27+
self.assertEqual(jwt_manager, self.app.extensions['flask-jwt-extended'])
2828

2929
def test_class_init(self):
3030
jwt_manager = JWTManager(self.app)
31-
self.assertIsInstance(jwt_manager, JWTManager)
31+
self.assertEqual(jwt_manager, self.app.extensions['flask-jwt-extended'])
3232

3333
def test_default_user_claims_callback(self):
3434
identity = 'foobar'

0 commit comments

Comments
 (0)