An Auth Service for Swift as WSGI Middleware that uses Swift itself as a backing store. Sphinx-built docs at: http://gholt.github.com/swauth/
See also https://github.com/openstack/keystone for the standard OpenStack auth service.
Be sure to review the Sphinx-built docs at: http://gholt.github.com/swauth/
-
Install Swauth with
sudo python setup.py install
orsudo python setup.py develop
or via whatever packaging system you may be using. -
Alter your proxy-server.conf pipeline to have swauth instead of tempauth:
Was:
[pipeline:main] pipeline = catch_errors cache tempauth proxy-server
Change To:
[pipeline:main] pipeline = catch_errors cache swauth proxy-server
-
Add to your proxy-server.conf the section for the Swauth WSGI filter:
[filter:swauth] use = egg:swauth#swauth set log_name = swauth super_admin_key = swauthkey
-
Be sure your proxy server allows account management:
[app:proxy-server] ... allow_account_management = true
-
Restart your proxy server
swift-init proxy reload
-
Initialize the Swauth backing store in Swift
swauth-prep -K swauthkey
-
Add an account/user
swauth-add-user -A http://127.0.0.1:8080/auth/ -K swauthkey -a test tester testing
-
Ensure it works
swift -A http://127.0.0.1:8080/auth/v1.0 -U test:tester -K testing stat -v
-
If you installed from packages, you'll need to cd to the webadmin directory the package installed. This is
/usr/share/doc/python-swauth/webadmin
with the Lucid packages. If you installed from source, you'll need to cd to the webadmin directory in the source directory. -
Upload the Web Admin files with
swift -A http://127.0.0.1:8080/auth/v1.0 -U .super_admin:.super_admin -K swauthkey upload .webadmin .
-
Open
http://127.0.0.1:8080/auth/
in your browser.