use only underscores in session variables to allow access from templates
This commit is contained in:
parent
6461daab81
commit
68fdf61c9a
|
@ -22,8 +22,8 @@ class FcFrontend(object):
|
|||
if 'nofc' in request.GET:
|
||||
return
|
||||
tpl_parameters = {'about_url': app_settings.about_url}
|
||||
if 'fc-user_info' in request.session:
|
||||
tpl_parameters['fc_user_info'] = request.session['fc-user_info']
|
||||
if 'fc_user_info' in request.session:
|
||||
tpl_parameters['fc_user_info'] = request.session['fc_user_info']
|
||||
context_instance = kwargs.pop('context_instance', None)
|
||||
return render(request, 'authentic2_auth_fc/login.html',
|
||||
tpl_parameters, context_instance=context_instance)
|
||||
|
@ -44,7 +44,7 @@ class FcFrontend(object):
|
|||
context_instance=context_instance)
|
||||
|
||||
def registration(self, request, *args, **kwargs):
|
||||
if 'fc-user_info' in request.session:
|
||||
if 'fc_user_info' in request.session:
|
||||
return []
|
||||
context_instance = kwargs.get('context_instance', RequestContext(request))
|
||||
tpl_parameters = {'about_url': app_settings.about_url}
|
||||
|
|
|
@ -11,14 +11,14 @@ from . import app_settings
|
|||
|
||||
def build_logout_url(request):
|
||||
"""
|
||||
For now fc-id_token in request.session is used as the flag of an
|
||||
For now fc_id_token in request.session is used as the flag of an
|
||||
active session on the OP. It is set in the login view and deleted in the
|
||||
logout return view.
|
||||
"""
|
||||
if 'fc-id_token' in request.session:
|
||||
if 'fc_id_token' in request.session:
|
||||
callback = request.build_absolute_uri(reverse('fc-logout'))
|
||||
qs = {
|
||||
'id_token_hint': request.session.get('fc-id_token_raw'),
|
||||
'id_token_hint': request.session.get('fc_id_token_raw'),
|
||||
'post_logout_redirect_uri': callback
|
||||
}
|
||||
return app_settings.logout_url + '?' + urllib.urlencode(qs)
|
||||
|
@ -27,19 +27,19 @@ def build_logout_url(request):
|
|||
|
||||
def get_mapped_attributes(request):
|
||||
values = {}
|
||||
if 'fc-user_info' in request.session:
|
||||
if 'fc_user_info' in request.session:
|
||||
for fc_name, local_name in app_settings.attributes_mapping.items():
|
||||
if fc_name in request.session['fc-user_info']:
|
||||
values[local_name] = [request.session['fc-user_info'][fc_name]]
|
||||
if fc_name in request.session['fc_user_info']:
|
||||
values[local_name] = [request.session['fc_user_info'][fc_name]]
|
||||
return values
|
||||
|
||||
|
||||
def get_mapped_attributes_flat(request):
|
||||
values = {}
|
||||
if 'fc-user_info' in request.session:
|
||||
if 'fc_user_info' in request.session:
|
||||
for fc_name, local_name in app_settings.attributes_mapping.items():
|
||||
if fc_name in request.session['fc-user_info']:
|
||||
values[local_name] = request.session['fc-user_info'][fc_name]
|
||||
if fc_name in request.session['fc_user_info']:
|
||||
values[local_name] = request.session['fc_user_info'][fc_name]
|
||||
return values
|
||||
|
||||
|
||||
|
|
|
@ -64,7 +64,7 @@ def ask_authorization(request, scopes, logger):
|
|||
scopes = [scopes]
|
||||
redirect_uri = request.build_absolute_uri()
|
||||
state = unicode(uuid.uuid4())
|
||||
states = request.session.setdefault('fc-states', {})
|
||||
states = request.session.setdefault('fc_states', {})
|
||||
states[state] = {
|
||||
'redirect_uri': redirect_uri,
|
||||
}
|
||||
|
@ -129,7 +129,7 @@ def access_token_from_request(request, logger):
|
|||
return
|
||||
if not state:
|
||||
return
|
||||
states = request.session.get('fc-states', {})
|
||||
states = request.session.get('fc_states', {})
|
||||
if state not in states:
|
||||
return
|
||||
# there should not be many FC SSO in flight
|
||||
|
@ -257,7 +257,7 @@ class FcOAuthSessionViewMixin(LoggerMixin):
|
|||
messages.warning(request, _('Unable to connect to FranceConnect.'))
|
||||
return self.redirect(request)
|
||||
nonce = self.id_token.get('nonce')
|
||||
states = request.session.get('fc-states', {})
|
||||
states = request.session.get('fc_states', {})
|
||||
if not nonce or nonce not in states:
|
||||
self.logger.warning(u'invalid nonce in id_token %s, known ones %s', nonce,
|
||||
u', '.join(states.keys()))
|
||||
|
@ -275,18 +275,18 @@ class FcOAuthSessionViewMixin(LoggerMixin):
|
|||
messages.warning(request, _('Unable to connect to FranceConnect.'))
|
||||
return self.redirect(request)
|
||||
self.logger.debug('fc user_info %s', self.user_info)
|
||||
self.request.session['fc-id_token'] = self.id_token
|
||||
self.request.session['fc-id_token_raw'] = self.token['id_token']
|
||||
self.request.session['fc-user_info'] = self.user_info
|
||||
self.request.session['fc_id_token'] = self.id_token
|
||||
self.request.session['fc_id_token_raw'] = self.token['id_token']
|
||||
self.request.session['fc_user_info'] = self.user_info
|
||||
if 'fd_scopes' in request.GET:
|
||||
scopes = request.GET.get('fd_scopes')
|
||||
scopes = scopes.split()
|
||||
self.data = self.get_data(scopes)
|
||||
self.logger.debug('fc data %s', self.data)
|
||||
fc_data = self.request.session.setdefault('fc-data', {})
|
||||
fc_data = self.request.session.setdefault('fc_data', {})
|
||||
for scope in self.data:
|
||||
fc_data.setdefault(scope, []).extend(self.data[scope])
|
||||
self.logger.debug('fc data in session %s', self.request.session['fc-data'])
|
||||
self.logger.debug('fc data in session %s', self.request.session['fc_data'])
|
||||
return super(FcOAuthSessionViewMixin, self).dispatch(request,
|
||||
*args,
|
||||
**kwargs)
|
||||
|
@ -473,11 +473,11 @@ unlink = UnlinkView.as_view()
|
|||
|
||||
class LogoutReturnView(View):
|
||||
def get(self, request, *args, **kwargs):
|
||||
request.session.pop('fc-id_token', None)
|
||||
request.session.pop('fc-id_token_raw', None)
|
||||
request.session.pop('fc-user_info', None)
|
||||
request.session.pop('fc-data', None)
|
||||
request.session.pop('fc-states', None)
|
||||
request.session.pop('fc_id_token', None)
|
||||
request.session.pop('fc_id_token_raw', None)
|
||||
request.session.pop('fc_user_info', None)
|
||||
request.session.pop('fc_data', None)
|
||||
request.session.pop('fc_states', None)
|
||||
return HttpResponseRedirect(reverse('auth_logout'))
|
||||
|
||||
logout = LogoutReturnView.as_view()
|
||||
|
|
Loading…
Reference in New Issue