a #e @srddlZddlmZddlmZddlmZddlmZddl m Z ddl Z e dZ dd ZGd d d eZdS) N) ModelBackend)User)ProcessingNode)settings) assign_permz app.loggercCsd|vsd|vrdSd|vrd|vrztjj|dd}Wn0tjynt|d|dd}|Yn0|j|dkr|d|_|d}d|vr|d}d |vrd |d vrd|d d vr|d d d}|jj|kr||j_|d |vrd |d vrd |d vr|d d }|d d }|d d d}|dkrz>tjj|d}|j |kst|j |kr||_ ||_ |Wn,tjyt|||d}|Yn0| d|st d|||SdSdS)Nmessageerroruser_idusernamepk)r r maxQuotanodelimitshostnameporttoken)r)rrrview_processingnode) robjectsget DoesNotExistsaver profilequotarrrhas_permr)resuserrrrrrr/webodm/app/auth/backends.py$get_user_from_external_auth_response sJ $ &     r!c@seZdZdddZddZdS)ExternalBackendNcCsPtjdkrdSz.tjtj||dddid}|}t|WSYdS0dS)Nr)r passwordAcceptzapplication/json)headers)rEXTERNAL_AUTH_ENDPOINTrequestspostjsonr!)selfrequestr r#rrrrr authenticateBs  zExternalBackend.authenticatecCs:tjdkrdSztjj|dWStjy4YdS0dS)Nrr )rr&rrrr)r*r rrr get_userQs  zExternalBackend.get_user)NN)__name__ __module__ __qualname__r-r.rrrr r"As r")r'django.contrib.auth.backendsrdjango.contrib.auth.modelsrnodeodm.modelsrwebodmrguardian.shortcutsrlogging getLoggerloggerr!r"rrrr s      6