Skip to content

Commit 5093476

Browse files
author
Liam S. Crouch
committed
Make refresh tokens rotate
1 parent bf6e7c8 commit 5093476

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

phoenixRest/__init__.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@
3939

4040
from phoenixRest.services import ServiceManager, setup_service_manager
4141

42+
OAUTH_EXPIRY = 1*60 if "DEBUG" in os.environ else 10*60
43+
4244
@subscriber(NewRequest)
4345
def log_request(evt):
4446
log.info("%s %s" % (evt.request.method, evt.request.url))
@@ -100,7 +102,7 @@ def main(global_config, **settings):
100102
# JWT
101103
config.set_authorization_policy(ACLAuthorizationPolicy())
102104
config.include('pyramid_jwt')
103-
config.set_jwt_authentication_policy(JWT_SECRET, auth_type="Bearer" ,expiration=60*60 if "DEBUG" in os.environ else 10*60, callback=add_role_principals)
105+
config.set_jwt_authentication_policy(JWT_SECRET, auth_type="Bearer" ,expiration=OAUTH_EXPIRY, callback=add_role_principals)
104106

105107
# Pillow renderer
106108
config.add_renderer("pillow", ".features.pillow_renderer.PillowRendererFactory")

phoenixRest/views/user/oauth.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
from phoenixRest.models.core.event import get_current_event
1313
from phoenixRest.models.core.oauth.oauthCode import OauthCode
1414
from phoenixRest.models.core.oauth.refreshToken import OauthRefreshToken
15+
from phoenixRest import OAUTH_EXPIRY
1516

1617
from phoenixRest.utils import validate
1718

@@ -147,12 +148,15 @@ def token(request):
147148
"error": "Invalid token"
148149
}
149150

150-
#refreshToken.refresh()
151+
refreshToken.refresh()
152+
request.db.add(refreshToken)
151153
# The refresh token was valid
152154

153155
return {
154156
'access_token': generate_token(refreshToken.user, request),
155-
#'refresh_token': refreshToken.token
157+
'token_type': "Bearer",
158+
'refresh_token': refreshToken.token,
159+
'expires': OAUTH_EXPIRY
156160
}
157161
else:
158162
request.response.status = 400

0 commit comments

Comments
 (0)