Don't trust Webhook data
This commit is contained in:
parent
0aa2b4f220
commit
bc3252b1f6
5
main.py
5
main.py
@ -132,12 +132,15 @@ def webhook_receiver():
|
|||||||
abort(400)
|
abort(400)
|
||||||
triggercode = data['triggercode']
|
triggercode = data['triggercode']
|
||||||
obj = data['object']
|
obj = data['object']
|
||||||
|
dolibarr_client = Dolibarrpy(url=config.DOLIBARR_API_BASE, token=config.DOLIBARR_API_TOKEN, timeout=16, debug=config.DOLIBARR_API_DEBUG)
|
||||||
ldap_server = Server(config.LDAP_HOST, config.LDAP_PORT, get_info=ALL)
|
ldap_server = Server(config.LDAP_HOST, config.LDAP_PORT, get_info=ALL)
|
||||||
if triggercode.startswith('USER_'):
|
if triggercode.startswith('USER_'):
|
||||||
with Connection(ldap_server, config.LDAP_BIND_USER, config.LDAP_BIND_PASSWORD) as ldap_conn:
|
with Connection(ldap_server, config.LDAP_BIND_USER, config.LDAP_BIND_PASSWORD) as ldap_conn:
|
||||||
manage_user_extra_fields(ldap_conn, obj)
|
dolibarr_user = dolibarr_client.get_user_by_uid(obj['id'])
|
||||||
|
manage_user_extra_fields(ldap_conn, dolibarr_user)
|
||||||
elif triggercode.startswith('USERGROUP_'):
|
elif triggercode.startswith('USERGROUP_'):
|
||||||
with Connection(ldap_server, config.LDAP_BIND_USER, config.LDAP_BIND_PASSWORD) as ldap_conn:
|
with Connection(ldap_server, config.LDAP_BIND_USER, config.LDAP_BIND_PASSWORD) as ldap_conn:
|
||||||
|
dolibarr_group = dolibarr_client.call_get_api(f"users/groups/{obj['id']}")
|
||||||
manage_group_extra_fields(ldap_conn, obj)
|
manage_group_extra_fields(ldap_conn, obj)
|
||||||
else:
|
else:
|
||||||
abort(400)
|
abort(400)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user