Commits

Martin von Löwis committed 1a65621

Put openid1 parameter in return_to URL for OpenID 1.1 providers.

Comments (0)

Files changed (1)

openid2rp/__init__.py

         if sreg_opt:
             data['openid.sreg.optional'] =  sreg11['openid.sreg11.optional'] =','.join(sreg_opt)
     if is_compat_1x(services):
+        # OpenID 1.1 does not communicate claimed_ids. Put them into the return URL
+        return_to += '&' if '?' in return_to else '?'
+        return_to += '&openid1=' + urllib.quote(claimed)
+        data['openid.return_to'] = return_to
         del data['openid.ns']
         del data['openid.claimed_id']
         del data['openid.realm']
-        data['openid.trust_root'] = return_to
+        trust_root = urlparse.urlparse(return_to)[:3] + (None,None,None)
+        data['openid.trust_root'] = urlparse.urlunparse(trust_root)
     ax_req, ax_opt = ax
     if "http://openid.net/srv/ax/1.0" in services and (ax_req or ax_opt):
         data.update({