I have integrated Mr Freeze RPX API into web2py (trunk only).
Take your existing app and at the bottom of db.py (or after you define
auth) add
from gluon.contrib.login_methods.rpx_account import RPXAccount
auth.settings.actions_disabled=['register','change_password','request_reset_password']
auth.settings.login_form = RPXAccount(
request,
api_key="...",
domain="...",
url = "
http://localhost:8000/%s/default/user/login" %
request.application)
WHERE you can get and api_key and domain by registering (for free) at
https://rpxnow.com
you choose the domain (has to be unique) and they give you the
api_key.
The url is the URL of the login page itself as visible to your
visitors.
If you do not define your own db.auth_user table this is all you need.
If you define your own table, add a new field to it:
Field('registration_id', length=512,writable=False,
readable=False, default='')
Then visit the login page and viola' you can login with OpenID,
Google, etc etc. You can add UP to 6 methods for free using the
rpxnow.com interface. For more methods, you need to pay (I am not
affiliated with them and I get no profit but I like their system)
PLEASE TRY IT AND REPORT ANY PROBLEM.
I would like to release 1.81.1 with this tomorrow so I can show it at
EuroPython Saturday.
Massimo