+def openid_login(request):
+ openid_request = make_consumer(request).begin(settings.OPENID_SSO_SERVER_URL)
+
+ fetch_request = ax.FetchRequest()
+ for (attr, alias) in [('http://axschema.org/namePerson/friendly', 'nickname'),
+ ('http://axschema.org/contact/email', 'email'),
+ ('http://axschema.org/namePerson', 'fullname'),
+ # ('http://openid.plgrid.pl/certificate/proxy', 'proxy'),
+ # ('http://openid.plgrid.pl/certificate/userCert', 'userCert'),
+ # ('http://openid.plgrid.pl/certificate/proxyPrivKey', 'proxyPrivKey'),
+ ('http://openid.plgrid.pl/POSTresponse', 'POSTresponse')]:
+ fetch_request.add(ax.AttrInfo(attr, alias=alias, required=True))
+ openid_request.addExtension(fetch_request)
+
+ return_to = request.build_absolute_uri(reverse('openid-complete'))
+
+ redirect_to = request.GET.get(REDIRECT_FIELD_NAME)
+ if redirect_to:
+ return_to += '?' + urlencode({REDIRECT_FIELD_NAME: redirect_to})
+
+ return HttpResponse(openid_request.htmlMarkup(request.build_absolute_uri('/'), return_to))
+
+