Система аутентификации web2py по умолчанию имеет таблицу событий, в которой хранятся все события для пользователя.то есть он хранит события для регистрации, входа в систему, выхода из системы и т. д.
Таким образом, вы можете узнать, является ли это первым входом в систему, запросив эту таблицу.
USER_ID = #Get your user ID
query = (db.auth_event.description.like('%Logged-in%'))&(db.auth_event.user_id==USER_ID)
if db(query).count() == 1:
#this is the first login of this user
ldap_mail = #Call LDAP to get the email
#store the email adress in auth_user
db(db.auth_user.id==USER_ID).update(email=ldap_mail)