1 from django.conf import settings
2 from django.contrib.auth.signals import user_logged_in
3 from django.dispatch import receiver
4 from django_openid_auth.signals import openid_login_complete
5 from openid.extensions import ax
8 @receiver(openid_login_complete)
9 def post_openid_login(sender, request, openid_response, **kwargs):
10 fetch_response = ax.FetchResponse.fromSuccessResponse(openid_response)
12 proxy = fetch_response.getSingle('http://openid.plgrid.pl/certificate/proxy')
13 user_cert = fetch_response.getSingle('http://openid.plgrid.pl/certificate/userCert')
14 proxy_priv_key = fetch_response.getSingle('http://openid.plgrid.pl/certificate/proxyPrivKey')
16 request.session['proxy'] = (proxy + proxy_priv_key + user_cert).replace('<br>', '\n')
19 @receiver(user_logged_in)
20 def post_user_login(sender, request, user, **kwargs):
22 with open(settings.PROXY_FILE) as f:
23 request.session['proxy'] = f.read()