django-oidc-provider/oidc_provider/middleware.py

18 lines
699 B
Python
Raw Normal View History

2016-10-28 18:25:52 +00:00
from django.utils.deprecation import MiddlewareMixin
from oidc_provider import settings
from oidc_provider.lib.utils.common import get_browser_state_or_default
2016-10-28 18:25:52 +00:00
class SessionManagementMiddleware(MiddlewareMixin):
"""
Maintain a `op_browser_state` cookie along with the `sessionid` cookie that
represents the End-User's login state at the OP. If the user is not logged
in then use the value of settings.OIDC_UNAUTHENTICATED_SESSION_MANAGEMENT_KEY.
2016-10-28 18:25:52 +00:00
"""
def process_response(self, request, response):
if settings.get('OIDC_SESSION_MANAGEMENT_ENABLE'):
response.set_cookie('op_browser_state', get_browser_state_or_default(request))
2016-10-28 18:25:52 +00:00
return response