def default_setup(config): from pyramid.session import UnencryptedCookieSessionFactoryConfig log.info('Using an unencrypted cookie-based session. This can be ' 'changed by pointing the "velruse.setup" setting at a different ' 'function for configuring the session factory.') settings = config.registry.settings secret = settings.get('session.secret') cookie_name = settings.get('session.cookie_name', 'velruse.session') if secret is None: log.warn('Configuring unencrypted cookie-based session with a ' 'random secret which will invalidate old cookies when ' 'restarting the app.') secret = ''.join('%02x' % ord(x) for x in os.urandom(16)) log.info('autogenerated session secret: %s', secret) factory = UnencryptedCookieSessionFactoryConfig(secret, cookie_name=cookie_name) config.set_session_factory(factory) # setup backing storage storage_string = settings.get('store', 'memory') settings['store.store'] = storage_string store = create_store_from_settings(settings, prefix='store.') config.register_velruse_store(store)
def _makeOne(self): from anykeystore import create_store_from_settings try: store = create_store_from_settings(config, prefix=self.key + '.') except ImportError as e: raise unittest.SkipTest(str(e)) return store
def test_create_store_from_settings_with_prefix(self): from anykeystore import create_store_from_settings store = create_store_from_settings( {'any.store': 'memory'}, prefix='any.') from anykeystore.backends.memory import MemoryStore self.assertTrue(isinstance(store, MemoryStore))
def default_setup(config): from pyramid.session import UnencryptedCookieSessionFactoryConfig log.info('Using an unencrypted cookie-based session. This can be ' 'changed by pointing the "velruse.setup" setting at a different ' 'function for configuring the session factory.') settings = config.registry.settings secret = settings.get('session.secret') cookie_name = settings.get('session.cookie_name', 'velruse.session') if secret is None: log.warn('Configuring unencrypted cookie-based session with a ' 'random secret which will invalidate old cookies when ' 'restarting the app.') secret = ''.join('%02x' % ord(x) for x in os.urandom(16)) log.info('autogenerated session secret: %s', secret) factory = UnencryptedCookieSessionFactoryConfig( secret, cookie_name=cookie_name) config.set_session_factory(factory) # setup backing storage storage_string = settings.get('store', 'memory') settings['store.store'] = storage_string store = create_store_from_settings('store.') config.register_velruse_store(store)
def test_create_store_from_settings_with_prefix(self): from anykeystore import create_store_from_settings store = create_store_from_settings({'any.store': 'memory'}, prefix='any.') from anykeystore.backends.memory import MemoryStore self.assertTrue(isinstance(store, MemoryStore))
def default_setup(config): """Configure Velruse's session factory and backend storage. The default setup uses Pyramid's ``UnencryptedCookieSessionFactoryConfig`` for storing session data. Relevant settings: ``session.secret`` controls the secret used when signing the session cookies and will be randomly generated if unspecified. ``session.cookie_name`` is the name of the cookie stored on a client's browser and will default to 'velruse.session'. ``store.*`` settings are used by the `anykeystore` library to construct a storage backend for user credentials. If no storage settings are specified then an in-memory storage backend will be used. """ try: from pyramid.session import SignedCookieSessionFactory as SessionFactory except ImportError: from pyramid.session import UnencryptedCookieSessionFactoryConfig as SessionFactory log.info('Using an unencrypted cookie-based session. This can be ' 'changed by pointing the "velruse.setup" setting at a different ' 'function for configuring the session factory.') settings = config.registry.settings secret = settings.get('session.secret') cookie_name = settings.get('session.cookie_name', 'velruse.session') if secret is None: log.info('Configuring unencrypted cookie-based session with a ' 'random secret which will invalidate old cookies when ' 'restarting the app.') if secrets is not None: secret = secrets.token_urlsafe(32) elif PYTHON_2: secret = ''.join('%02x' % ord(x) for x in os.urandom(16)) else: secret = ''.join('%02x' % x for x in os.urandom(16)) log.info('autogenerated session secret: %s', secret) factory = SessionFactory(secret, cookie_name=cookie_name) config.set_session_factory(factory) # setup backing storage storage_string = settings.get('store', 'memory') settings['store.store'] = storage_string store = create_store_from_settings(settings, prefix='store.') config.register_velruse_store(store)
def default_setup(config): """Configure Velruse's session factory and backend storage. The default setup uses Pyramid's ``UnencryptedCookieSessionFactoryConfig`` for storing session data. Relevant settings: ``session.secret`` controls the secret used when signing the session cookies and will be randomly generated if unspecified. ``session.cookie_name`` is the name of the cookie stored on a client's browser and will default to 'velruse.session'. ``store.*`` settings are used by the `anykeystore` library to construct a storage backend for user credentials. If no storage settings are specified then an in-memory storage backend will be used. """ from pyramid.session import UnencryptedCookieSessionFactoryConfig log.info('Using an unencrypted cookie-based session. This can be ' 'changed by pointing the "velruse.setup" setting at a different ' 'function for configuring the session factory.') settings = config.registry.settings secret = settings.get('session.secret') cookie_name = settings.get('session.cookie_name', 'velruse.session') if secret is None: log.warn('Configuring unencrypted cookie-based session with a ' 'random secret which will invalidate old cookies when ' 'restarting the app.') secret = ''.join('%02x' % ord(x) for x in os.urandom(16)) log.info('autogenerated session secret: %s', secret) factory = UnencryptedCookieSessionFactoryConfig( secret, cookie_name=cookie_name) config.set_session_factory(factory) # setup backing storage storage_string = settings.get('store', 'memory') settings['store.store'] = storage_string store = create_store_from_settings(settings, prefix='store.') config.register_velruse_store(store)
def test_create_store_from_settings(self): from anykeystore import create_store_from_settings store = create_store_from_settings({'store': 'memory'}) from anykeystore.backends.memory import MemoryStore self.assertTrue(isinstance(store, MemoryStore))