Hi, I want to try OpenID. I have found the following chapter in the book (rev. 4.9):
--------------------------------- OpenID We have previously discussed integration with Janrain (which has OpenID support) and that is the easiest way to use OpenID. Yet sometimes you do not want to rely on a third party service and you want to access the OpenID provider directly from the consumer (your app). Here is an example: from gluon.contrib.login_methods.openid_auth import OpenIDAuth auth.settings.login_form = OpenIDAuth(auth) OpenIDAuth requires the *python-openid* module to be installed separately. Under the hood, this login method defines the following table: db.define_table('alt_logins', Field('username', length=512, default=''), Field('type', length =128, default='openid', readable=False), Field('user', self.table_user, readable=False)) which stores the openid usernames for each user. If you want to display the openids for the current logged in user: {{=auth.settings.login_form.list_user_openids()}} --------------------------------- I created a new application and I added this line at the top of db.py from gluon.contrib.login_methods.openid_auth import OpenIDAuth This line is at the end: auth.settings.login_form = OpenIDAuth(auth) After starting the index-function I got the following error message: <type 'exceptions.SyntaxError'> invalid table/column name "type" is a "ALL" reserved SQL keyword Version web2py™ (2, 3, 2, datetime.datetime(2012, 12, 19, 11, 52, 16), 'dev') Python Python 2.7.3: D:\Python27\python.exe Traceback 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Traceback (most recent call last): File "D:\dropbox\InfoSMS\web2py\gluon\restricted.py", line 212, in restricted exec ccode in environment File "D:/dropbox/InfoSMS/web2py/applications/logins/models/db.py" <http://127.0.0.1:8000/admin/default/edit/logins/models/db.py>, line 88, in <module> auth.settings.login_form = OpenIDAuth(auth) File "D:\dropbox\InfoSMS\web2py\gluon\contrib\login_methods\openid_auth.py", line 103, in __init__ self._define_alt_login_table() File "D:\dropbox\InfoSMS\web2py\gluon\contrib\login_methods\openid_auth.py", line 143, in _define_alt_login_table Field('user', self.table_user, readable=False), File "D:\dropbox\InfoSMS\web2py\gluon\dal.py", line 7186, in define_table table = self.lazy_define_table(tablename,*fields,**args) File "D:\dropbox\InfoSMS\web2py\gluon\dal.py", line 7203, in lazy_define_table table = table_class(self, tablename, *fields, **args) File "D:\dropbox\InfoSMS\web2py\gluon\dal.py", line 7609, in __init__ db.check_reserved_keyword(field_name) File "D:\dropbox\InfoSMS\web2py\gluon\dal.py", line 6930, in check_reserved_keyword 'invalid table/column name "%s" is a "%s" reserved SQL keyword' % (name, backend.upper())) SyntaxError: invalid table/column name "type" is a "ALL" reserved SQL keyword Error snapshot [image: help] <type 'exceptions.SyntaxError'>(invalid table/column name "type" is a "ALL" reserved SQL keyword) Any comments? Regards, Martin --