Skip to main content

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

For the impatient

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

git clone https://github.com/frgomes/kotti_velruse_demo.git
cd kotti_velruse_demo
./run-server.sh

Setup

  1. Insert kotti_velruse.kotti_configure on kotti.configurators

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

[app:main]

### --------------------------------------------------------------------------
# velruse configuration
#
# Module velruse.app.includeme 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
#
#---
realm=http://www.example.com


endpoint = %(realm)s:6543/logged_in
store = memory
# store = redis
# store.host = 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
provider.openid.realm=%(realm)s
provider.openid.store=openid.store.memstore:MemoryStore

# Google (this an alias to Google Hybrid, for backward compatibility)
provider.google.realm=%(realm)s
provider.google.consumer_key=CHANGE-ME
provider.google.consumer_secret=CHANGE-ME
provider.google.scope=CHANGE-ME

# Google Hybrid
#provider.google_hybrid.realm=%(realm)s
#provider.google_hybrid.consumer_key=CHANGE-ME
#provider.google_hybrid.consumer_secret=CHANGE-ME
#provider.google_hybrid.scope=CHANGE-ME

# Google OAuth2
provider.google_oauth2.consumer_key=CHANGE-ME
provider.google_oauth2.consumer_secret=CHANGE-ME
provider.google_oauth2.scope=CHANGE-ME

# Yahoo
provider.yahoo.realm=%(realm)s
provider.yahoo.consumer_key=CHANGE-ME
provider.yahoo.consumer_secret=CHANGE-ME

# Live
provider.live.client_id=CHANGE-ME
provider.live.client_secret=CHANGE-ME
provider.live.consumer_key=CHANGE-ME
provider.live.consumer_secret=CHANGE-ME

# Twitter
provider.twitter.consumer_key=CHANGE-ME
provider.twitter.consumer_secret=CHANGE-ME

# Facebook
provider.facebook.app_id=CHANGE-ME
provider.facebook.app_secret=CHANGE-ME
provider.facebook.consumer_key=CHANGE-ME
provider.facebook.consumer_secret=CHANGE-ME
provider.facebook.scope=email,publish_stream,read_stream,create_event,offline_access

# LinkedIn
provider.linkedin.consumer_key=CHANGE-ME
provider.linkedin.consumer_secret=CHANGE-ME

# Github
provider.github.consumer_key=CHANGE-ME
provider.github.consumer_secret=CHANGE-ME
provider.github.scope=CHANGE-ME

# BitBucket
provider.bitbucket.consumer_key=CHANGE-ME
provider.bitbucket.consumer_secret=CHANGE-ME

# MailRU
provider.mailru.app_id=CHANGE-ME
provider.mailru.app_secret=CHANGE-ME
provider.mailru.consumer_key=CHANGE-ME
provider.mailru.consumer_secret=CHANGE-ME

### --------------------------------------------------------------------------
  1. Please adjust variable realm in development.ini.

  2. Adjust provider configurations accordingly to to your affiliation keys and passwords.

  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

Dependencies

This plugin depends on modified versions of:

Support

Please find links on the top of this page.

Authors

Richard Gomes <rgomes.info@gmail.com>

Changelog

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 __init__.py

  • Pass request as part of event passed to AfterKottiVelruseLoggedIn

  • Better documentation

Metadata

Release files for kotti_velruse 0.3.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kotti_velruse 0.3.4
File Size Uploaded Provenance
kotti_velruse-0.3.4.zip 25.6 kB Without provenance Details

Release files / kotti_velruse-0.3.4.zip

Download URL kotti_velruse-0.3.4.zip
Size 25.6 kB
Tags Source
SHA-256 checksum
How to use checksums
3df91e437109a787e7a28f9dc2cf9aadc2bbeb83c8de5f97c4ba9c2cf3d6bf07
BLAKE2b-256 checksum
How to use checksums
049c0af661259315193bf05333ea5520613febc0858b59b1c8f0538892afeee2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for kotti_velruse 0.3.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.3.4 This release

1 release file No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page