Metadata-Version: 1.0
Name: pyramid_contextauth
Version: 0.6
Summary: Pyramid Security Extension.
Home-page: UNKNOWN
Author: Hadrien David
Author-email: hadrien@ectobal.com
License: UNKNOWN
Description: pyramid_contextauth
        ===================
        
        
        A simple pyramid extension to provides contexts based authentication policy.
        
        Usage::
        
            from pyramid.security import remember, forget
            from pyramid.authentication import AuthTktAuthenticationPolicy,
        
            def includeme(config):
                config.include('pyramid_contextauth')
                config.register_authentication_policy(
                    AuthTktAuthenticationPolicy('secret'),
                    Context1,
                )
                config.register_authentication_policy(
                    ContextAuthenticationPolicy(),
                    (Context2, Context3),
                )
        
        
            class Context1(object):
                pass
        
        
            class Context2(object):
                pass
        
        
            class Context3(object):
                pass
        
        
            class ContextAuthenticationPolicy(object):
        
                def authenticated_userid(self, request):
                    return unauthenticated_userid(request)
        
                def unauthenticated_userid(self, request):
                    "A dummy example"
                    return request.POST.get('userid')
        
                def effective_principals(self, request):
                    if self.unauthenticated_userid(request):
                        return ['User']
                    return []
        
                def remember(self, request, prinicpal, **kw):
                    return remember(request, prinicpal, **kw)
        
                def forget(self, request):
                    return forget(request)
        
        Changelog
        =========
        
        0.6
        ---
        
        * Removing decorator ``authentication_policy``: extension should not
          instantiate authentication policy class internally.
        
        0.5
        ---
        
        * Registering same context to multiple policies raises a configuration error.
        * Unregister old policy when overriding a context with another policy.
        * Change register_authentication_policy and authentication_policy signatures.
        
        0.4
        ---
        
        * Add introspectables to config for registered authentication policies.
        * Rename register_context to register_policy
        
        0.3
        ---
        
        * Break backward compatibility as
          ``ContextBasedAuthenticationPolicy.register_context`` now requires ``config``
          instance as first argument.
        * Add a configuration directive: ``config.register_authentication_policy``.
        * Use registry adpaters to register policies rather than a dict.
        * Add a decorator ``authentication_policy`` to register policies when doing
          a config scan.
        * ``config.register_authentication_policy`` accepts a list of contexts.
        
        0.2.1
        -----
        
        * Adjust requirements files and dependencies.
        
        0.2
        ---
        
        * Update dependencies by adding requirements files.
        
        0.1.1
        -----
        
        * Changed ``register_context`` interface which breaks compatibility with 0.0.3
        
        0.0.3
        -----
        
        * Commit configuration before returning from includeme.
        
        
        0.0.2
        -----
        
        * When not provided, ``authenticated_userid`` and ``effective_principals`` from
          super class ``CallbackAuthenticationPolicy`` are used.
        
        
        0.0.1
        -----
        
        * Initial version
        
        
Platform: UNKNOWN
