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 |
|
-
|