This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

kotti_velruse is a Kotti plugin which provides authentication via Velruse, using methods such as: OpenID, OAuth2, Google, Yahoo, Live, Facebook, Twitter and others

Find out more about Kotti


kotti_accounts needs to be installed alongside with kotti_velruse.

For the impatient

There’s a demo which shows how it works. Just run the commands below inside a clean virtualenv.

git clone
cd kotti_velruse_demo


  1. Insert kotti_velruse.kotti_configure on kotti.configurators
kotti.configurators = kotti_velruse.kotti_configure
                      # other plugins
  1. Insert the block below under section [app:main]

### --------------------------------------------------------------------------
# velruse configuration
# Module looks for entries named "provider." in order
# to discover which providers are configured.
# NOTE: these configurations must be inside [app:kotti]

# Please adjust variable REALM
# Make sure that:
#   1. your browser is able to resolve the FQDN
#   2. your Kotti server is able to resolve the FQDN

endpoint = %(realm)s:6543/logged_in
store = memory
# store = redis
# = localhost
# store.port = 6379
# store.db = 0
# store.key_prefix = velruse_ustore

# OpenID
#   Despite a single provide.openid is declared, you can specify multiple
#   URLs that should be used for connecting to multiple OpenID endpoints.
#   See: login.mako for an example of how this can be done

# Google (this an alias to Google Hybrid, for backward compatibility)

# Google Hybrid

# Google OAuth2

# Yahoo

# Live

# Twitter

# Facebook

# LinkedIn

# Github

# BitBucket

# MailRU

### --------------------------------------------------------------------------
  1. Please adjust variable realm in development.ini.
  2. Adjust provider configurations accordingly to to your affiliation keys and passwords.


Several providers work out of the box, like Google Hybrid, Yahoo and most OpenID providers.

  1. Navigate to page /login like shown below:

    $ firefox http://localhost:6543/login

How it works

kotti_velruse allows users to employ any identity they already have on popular providers like Google, Yahoo, LinkedIn, Twitter, Facebook or any OpenID enabled provider.

kotti_velruse is responsible for authentication workflow solely, which starts when the user selects the authentication provider and finishes when the authentication provider responds with a record containing user details, such as name and email address. kotti_velruse is also responsible for assigning user credentials to the current browsing session.

kotti_velruse IS NOT responsible for creating or managing user credentials in any way. kotti_velsure IS NOT responsible even for querying user credentials, in order to find the one which matches the authenticated user identity. These tasks are performed by kotti_accounts, which intercepts notifications emitted by kotti_velruse when an user successfully authenticates.

See also: kotti_accounts


This plugin depends on modified versions of:


Please find links on the top of this page.


Richard Gomes <>


0.1 (not released)

0.2 (31-Oct-2013)

  • Initial version as a proper Kotti plugin.

0.3 (02-Nov-2013)

  • Honouring attribute ‘came_from’, in order to return to the previous page.
  • Better communication protocol with kotti_accounts (or any other module) which is responsible for handling event AfterKottiVelruseLoggedIn.
  • Creates credentials in the current browser session when kotti_accounts returns a valid Principal.
  • Code review.
  • Better documentation.

0.3.1 (06-Nov-2013)

  • Better integration with kotti_accounts

0.3.2 (11-Nov-2013)

  • Better integration with Preferences page (/@@prefs)

0.3.3 (18-Nov-2013)

  • Move version number to package
  • Pass request as part of event passed to AfterKottiVelruseLoggedIn
  • Better documentation
Release History

Release History


This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date (25.6 kB) Copy SHA256 Checksum SHA256 Source Nov 26, 2013

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting