Changeset 113

Show
Ignore:
Timestamp:
08/22/07 11:17:13
Author:
thejimmyg
Message:

Added support for the OpenID Simple Registration Protocol and an example (based on patch from Dalius)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • AuthKit/branches/0.4/AuthKit.egg-info/PKG-INFO

    r110 r113  
    11Metadata-Version: 1.0 
    22Name: AuthKit 
    3 Version: 0.4.0dev-r98 
     3Version: 0.4.0dev-r112 
    44Summary: An authentication and authorization toolkit for WSGI applications and frameworks 
    5 Home-page: http://3aims.com
     5Home-page: http://authkit.org
    66Author: James Gardner 
    77Author-email: james@pythonweb.org 
  • AuthKit/branches/0.4/AuthKit.egg-info/SOURCES.txt

    r110 r113  
    7676examples/docs/form.py 
    7777examples/docs/forward.py 
    78 examples/docs/passurl.py 
     78examples/docs/open_id.py 
    7979examples/docs/redirect.py 
    8080examples/user/database/README.txt 
     
    8484ez_setup/README.txt 
    8585ez_setup/__init__.py 
     86test/model.py 
    8687test/test.py 
    87 test/test_model.py 
    8888test/user_file_data.txt 
  • AuthKit/branches/0.4/authkit/authenticate/open_id.py

    r112 r113  
    7878            with_path_info=False 
    7979        ) 
    80         # XXX For registration support this should render hidden fields 
    81         # with the sreg options 
    8280        content = render( 
    8381            self.template, 
     
    145143        urltouser=None, 
    146144        charset=None, 
     145        sreg_required=None, 
     146        sreg_optional=None, 
     147        sreg_policyurl=None 
    147148    ): 
    148149        self.conn, self.store = make_store(store_type, store_config) 
     
    161162        else: 
    162163            self.charset = '; charset='+charset 
    163                  
     164        self.sreg_required = sreg_required 
     165        self.sreg_optional = sreg_optional 
     166        self.sreg_policyurl = sreg_policyurl 
     167 
    164168    def __call__(self, environ, start_response): 
    165169        # If we are called it is because we want to sign in, so show the  
     
    183187 
    184188    def verify(self, environ, start_response): 
    185         # XXX This method should accept sreg options and continue with them 
    186189        baseurl = self.baseurl or construct_url( 
    187190            environ,  
     
    268271                trust_root = baseurl 
    269272                return_to = baseurl + self.path_process 
     273                if self.sreg_required: 
     274                    request_.addExtensionArg('sreg', 'required', self.sreg_required) 
     275                if self.sreg_optional: 
     276                    request_.addExtensionArg('sreg', 'optional', self.sreg_optional) 
     277                if self.sreg_policyurl: 
     278                    request_.addExtensionArg('sreg', 'policy_url', self.sreg_policyurl) 
     279 
    270280                redirect_url = request_.redirectURL(trust_root, return_to) 
    271281                start_response( 
     
    299309        elif info.status == consumer.SUCCESS: 
    300310            username = info.identity_url 
     311            user_data = str(info.extensionResponse( 'sreg' )) 
    301312            # Set the cookie 
    302313            if self.urltouser: 
    303314                username = self.urltouser(environ, info.identity_url) 
    304             environ['paste.auth_tkt.set_user'](username
     315            environ['paste.auth_tkt.set_user'](username, user_data=user_data
    305316            # Return a page that does a meta refresh 
    306317            response = """ 
     
    405416        urltouser = urltouser, 
    406417        charset = auth_conf.get('charset'), 
     418        sreg_required=auth_conf.get('sreg.required'), 
     419        sreg_optional=auth_conf.get('sreg.optional'), 
     420        sreg_policyurl=auth_conf.get('sreg.policyurl') 
    407421    ) 
    408422    session_middleware = 'beaker.session' 
  • AuthKit/branches/0.4/test/test.py

    r106 r113  
    2020from digest import app as digest_app 
    2121from forward import app as forward_app 
    22 from passurl import app as passurl_app 
     22from open_id import app as openid_app 
    2323from redirect import app as redirect_app 
    2424 
     
    4343    digest_app,  
    4444    forward_app, 
    45     passurl_app,  
     45    openid_app,  
    4646    redirect_app, 
    4747    config_app, 
     
    133133    assert 'Please Sign In' in res 
    134134 
    135 def test_passurl_fail(): 
    136     res = TestApp(passurl_app).get('/private') 
     135def test_openid_fail(): 
     136    res = TestApp(openid_app).get('/private') 
    137137    assertEqual(res.header('content-type'),'text/html; charset=UTF-8') 
    138138    assertEqual(res.full_status, '200 OK')