Skip to content

Commit 14cd2bf

Browse files
committed
Support for token generator for OAuth2 Provider. #42
1 parent 4c0e601 commit 14cd2bf

File tree

1 file changed

+17
-2
lines changed

1 file changed

+17
-2
lines changed

flask_oauthlib/provider/oauth2.py

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
from flask import request, url_for
1515
from flask import redirect, abort
1616
from werkzeug import cached_property
17+
from werkzeug.utils import import_string
1718
from oauthlib import oauth2
1819
from oauthlib.oauth2 import RequestValidator, Server
1920
from oauthlib.common import to_unicode
@@ -120,8 +121,18 @@ def validate_client_id(self, client_id):
120121
oauth._validator = MyValidator()
121122
"""
122123
expires_in = self.app.config.get('OAUTH2_PROVIDER_TOKEN_EXPIRES_IN')
124+
token_generator = self.app.config.get(
125+
'OAUTH2_PROVIDER_TOKEN_GENERATOR', None
126+
)
127+
if token_generator and not callable(token_generator):
128+
token_generator = import_string(token_generator)
129+
123130
if hasattr(self, '_validator'):
124-
return Server(self._validator, token_expires_in=expires_in)
131+
return Server(
132+
self._validator,
133+
token_expires_in=expires_in,
134+
token_generator=token_generator,
135+
)
125136

126137
if hasattr(self, '_clientgetter') and \
127138
hasattr(self, '_tokengetter') and \
@@ -142,7 +153,11 @@ def validate_client_id(self, client_id):
142153
grantsetter=self._grantsetter,
143154
)
144155
self._validator = validator
145-
return Server(validator, token_expires_in=expires_in)
156+
return Server(
157+
validator,
158+
token_expires_in=expires_in,
159+
token_generator=token_generator,
160+
)
146161
raise RuntimeError('application not bound to required getters')
147162

148163
def before_request(self, f):

0 commit comments

Comments
 (0)