-
Notifications
You must be signed in to change notification settings - Fork 1
/
README
77 lines (55 loc) · 2.62 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
lg_authority - A general purpose, multi-backend capable authentication and permissions framework for CherryPy.
=================================================
Dependencies
============
Required:
cherrypy
Optional:
pymongo - For MongoDB backend
python-openid - For Open ID support
Installation
============
1. git clone git://github.com/wwoods/lamegame_cherrypy_authority.git
2. cd lamegame_cherrypy_authority
3. sudo python setup.py install (or python setup.py install --user to install without sudo)
Example Usage (just want to block out non-logged-in users)
==========================================================
import cherrypy
import lg_authority
@lg_authority.groups('auth')
class Root(object):
auth = lg_authority.AuthRoot()
@cherrypy.expose
def index(self):
return "Logged in!"
cherrypy.config.update({
'tools.lg_authority.on': True,
# Uncomment the following two lines to persist changed user / group data
# 'tools.lg_authority.site_storage': 'sqlite3',
# 'tools.lg_authority.site_storage_conf': { 'file': 'test.db' } })
cherrypy.quickstart(Root())
Storage Options
===============
The different storage options are laid out in lg_authority/slates/storage. Currently, there are the following and their options:
ram - Store session and user data in memory only; it will get erased when the
server restarts, and does not support coordination between different
instances.
Options: No options.
sqlite3 - Store session in a sqlite3 file database. Data is persisted through
the file.
Options: file - The file to store session and user information in.
pymongo - Store session information in a mongodb backend.
Options:
host - The host address of the mongodb server to connect to
port - The port
db - The name of the mongodb database to store auth collections in
collection_base - An optional prefix for all of the collections created
and maintained by lg_authority.
OpenID
======
Being an openID server
======================
If python-openid is installed, then there is an OpenID endpoint set up automatically at (authroot)/openid. If you would like your site root to be an open ID endpoint, put the following meta tag in the index page (e.g. http://www.lamegameproductions.com):
<meta http-equiv="x-xrds-location" content="https://www.lamegameproductions.com/auth/openid/xrds" />
Replace www.lamegameproductions.com/auth with your auth root. It is probably wise to ensure that the xrds location is accessed through https.
Users may also use the /auth/openid URL as an endpoint, even if you don't put that meta tag on your root.