Hi Massimo, I just upgraded and it seemed to kill my LDAP authorization:
<type 'exceptions.SyntaxError'> invalid syntax (ldap_auth.py, line 435) Versionweb2py™Version 2.13.3-stable+timestamp.2015.12.24.15.09.20PythonPython 2.6.6: /usr/bin/python (prefix: /usr)Traceback 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Traceback (most recent call last): File "/opt/web-apps/web2py/gluon/restricted.py", line 227, in restricted exec ccode in environment File "/opt/web-apps/web2py/applications/CongressionalFoxPro/models/db.py" <https://hqvmlxbgzla02.gpo.gov/admin/default/edit/CongressionalFoxPro/models/db.py>, line 81, in <module> from gluon.contrib.login_methods.ldap_auth import ldap_auth File "/opt/web-apps/web2py/gluon/custom_import.py", line 108, in custom_importer return NATIVE_IMPORTER(name, globals, locals, fromlist, level) File "/opt/web-apps/web2py/gluon/contrib/login_methods/ldap_auth.py", line 435 update_or_insert_values = {f: update_or_insert_values[f] for f in fields} ^ SyntaxError: invalid syntax Error snapshot [image: help] <https://hqvmlxbgzla02.gpo.gov/admin/default/ticket/CongressionalFoxPro/172.24.216.193.2015-12-24.11-48-03.f24e6cfa-e08c-464b-8b30-32deddfcb84c#> <type 'exceptions.SyntaxError'>(invalid syntax (ldap_auth.py, line 435)) On Thursday, December 24, 2015 at 10:21:42 AM UTC-5, Massimo Di Pierro wrote: > > web2py 2.13.3 is out. MERRY CHRISTMAS EVERYBODY!!! > > It contains some bug fixes for bugs introduced in 2.13.1-2 and most > importantly it contains experimental support for JWT. Here is how it works: > > 1) instantiate auth with > > auth = Auth(db, jwt = {'secret_key':'secret'}) > > where 'secret' is your own secret string. > > 2) Secorate functions that require login but should accept the JWT > token credentials: > > @auth.allows_jwt() > @auth.requires_login() > def myapi(): return 'hello %s' % auth.user.email > > Notice jwt is allowed but not required. if user is logged in, > myapi is accessible. > > 3) Use it! > Now API users can obtain a token with > > http://.../app/default/user/jwt?username=...&password=.... > > (returns json object with a token attribute) > API users can refresh an existing token with > > http://.../app/default/user/jwt?token=... > > they can authenticate themselves when calling http:/.../myapi by > injecting a header > > Authorization: Bearer <the jwt token> > > Any additional attributes in the jwt argument of Auth() below: > > auth = Auth(db, jwt = {...}) > > are passed to the constructor of class AuthJWT. Look there for > documentation. > > Thanks Niphlod again for implementing this. > Please help us check it so we will declare it stable in the next release. > > Massimo > > > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.