views: add debug logs, improve info log, copy id_token and user-info into session

This commit is contained in:
Benjamin Dauvergne 2015-05-28 00:31:26 +02:00
parent 155f6df98f
commit 7910be4be8
1 changed files with 8 additions and 5 deletions

View File

@ -165,10 +165,15 @@ class FcOAuthSessionViewMixin(LoggerMixin):
self.id_token = json.loads(
base64.b64_decode(
self.id_token_raw.split('.')[1]))
self.logger.debug('fc id_token %s', self.id_token)
for key in self.id_token:
setattr(self, key, self.id_token[key])
self.oauth_session = lambda: OAuth2Session(
app_settings.client_id, token=self.token)
self.user_info = self.get_user_info()
self.logger.debug('fc user_info %s', self.user_info)
self.request.session['fc-id_token'] = self.id_token
self.request.session['fc-user_info'] = self.user_info
return super(FcOAuthSessionViewMixin, self).dispatch(request,
*args,
**kwargs)
@ -190,12 +195,11 @@ class LoginOrLinkView(PopupViewMixin, FcOAuthSessionViewMixin, View):
'''
def get(self, request, *args, **kwargs):
'''Request an access grant code and associate it to the current user'''
user_info = self.get_user_info()
user = authenticate(sub=self.sub, user_info=user_info,
user = authenticate(sub=self.sub, user_info=self.user_info,
token=self.token)
if user:
auth_login(request, user)
self.logger.info('user %r logged in using fc', unicode(user))
self.logger.info('logged in using fc sub %s', self.sub)
return self.redirect(request)
elif request.user.is_authenticated():
# Old link are deleted
@ -205,8 +209,7 @@ class LoginOrLinkView(PopupViewMixin, FcOAuthSessionViewMixin, View):
sub=self.sub, user=request.user)
if created:
self.logger.info('fc link created for user %r',
unicode(request.user))
self.logger.info('fc link created sub %s', self.sub)
else:
fc_account.token = json_token
fc_account.save()