Thanks for your reply, I was making a mistake.

I have been calling
auth.define_tables(...)
before
auth.settings.extra_fields['auth_user'] = [Field(....)]

I have switched between them and now I have my field in the database so 
thank you :)

Now I have Google authentication working, thank you guys for your help!

This is my working code:

db = DAL('sqlite://amanda2.db')
auth = Auth(db)
auth.settings.auth_two_factor_enabled = True
auth.settings.extra_fields['auth_user'] = [Field('motp_secret', 'password', 
length=512, default='', label='MOTP Secret')]
auth.define_tables(username=True, signature=True)

def _set_two_factor(user, auth_two_factor):
    return None

def verificar_otp(user, otp):
    import pyotp
    totp = pyotp.TOTP(user.motp_secret)
    if totp.verify(otp):
        return otp

auth.settings.two_factor_methods = [_set_two_factor]
auth.settings.two_factor_onvalidation = [verificar_otp]




El domingo, 17 de julio de 2016, 16:57:16 (UTC-5), 黄祥 escribió:
>
> pls try :
> *models/db.py*
> from gluon.tools import Auth, Service, PluginManager
>
> auth = Auth(db, host_names=myconf.get('host.names'))
> service = Service()
> plugins = PluginManager()
>
> auth.settings.extra_fields['auth_user'] = [Field('motp_secret', 
> 'password', length=512, default='', label='MOTP Secret')]
>
> auth.define_tables(username=False, signature=False)
>
> *ref:*
>
> http://web2py.com/books/default/chapter/29/09/access-control#Customizing-Auth
>
> best regards,
> stifan
>

-- 
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.

Reply via email to