Projet

Général

Profil

0001-views-clean-FranceConnect-session-variable-on-unlink.patch

Benjamin Dauvergne, 16 mai 2019 18:13

Télécharger (1,84 ko)

Voir les différences:

Subject: [PATCH 1/2] views: clean FranceConnect session variable on unlink
 (#32953)

 src/authentic2_auth_fc/views.py | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)
src/authentic2_auth_fc/views.py
149 149
ACCESS_GRANT_CODE = 'accessgrantcode'
150 150

  
151 151

  
152
def clean_fc_session(session):
153
    session.pop('fc_id_token', None)
154
    session.pop('fc_id_token_raw', None)
155
    session.pop('fc_user_info', None)
156
    session.pop('fc_data', None)
157

  
158

  
152 159
class FcOAuthSessionViewMixin(LoggerMixin):
153 160
    '''Add the OAuth2 dance to a view'''
154 161
    scopes = ['openid', 'profile', 'birth', 'email']
......
510 517
        if app_settings.logout_when_unlink:
511 518
            # logout URL can be None if not session exists with FC
512 519
            url = utils.build_logout_url(self.request, next_url=url) or url
520
        clean_fc_session(self.request.session)
513 521
        return url
514 522

  
515 523
    def get_form_class(self):
......
574 582
class LogoutReturnView(View):
575 583
    def get(self, request, *args, **kwargs):
576 584
        state = request.GET.get('state')
577
        request.session.pop('fc_id_token', None)
578
        request.session.pop('fc_id_token_raw', None)
579
        request.session.pop('fc_user_info', None)
580
        request.session.pop('fc_data', None)
585
        clean_fc_session(request.session)
581 586
        states = request.session.pop('fc_states', None)
582 587
        next_url = None
583 588
        if states and state in states:
584
-