a2b4db7c70836db761ae408975cc14e7cea87f5d
[cascardo/ipsilon.git] / ipsilon / providers / openid / extensions / sreg.py
1 #!/usr/bin/python
2 #
3 # Copyright (C) 2014  Ipsilon project Contributors, for licensee see COPYING
4
5 from __future__ import absolute_import
6
7 from ipsilon.providers.openid.extensions.common import OpenidExtensionBase
8 from openid.extensions import sreg
9
10
11 class OpenidExtension(OpenidExtensionBase):
12
13     def __init__(self):
14         super(OpenidExtension, self).__init__('Simple Registration')
15         self.type_uris = [
16             sreg.ns_uri_1_1,
17             sreg.ns_uri_1_0,
18         ]
19
20     def _resp(self, request, userdata):
21         req = sreg.SRegRequest.fromOpenIDRequest(request)
22         data = dict()
23         for name in sreg.data_fields:
24             if name in userdata:
25                 data[name] = userdata[name]
26         return sreg.SRegResponse.extractResponse(req, data)
27
28     def _display(self, request, userdata):
29         resp = self._resp(request, userdata)
30         return resp.data
31
32     def _response(self, request, userdata):
33         return self._resp(request, userdata)