cu-dZddlZddlmZmZmZddlmZmZm Z m Z m Z m Z m Z mZmZmZmZmZmZmZGddZdS)z oauthlib.oauth1.rfc5849.endpoints.base ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This module is an implementation of various logic needed for signing and checking OAuth 1.0 RFC 5849 requests. N)CaseInsensitiveDictRequestgenerate_token)CONTENT_TYPE_FORM_URLENCODEDSIGNATURE_HMAC_SHA1SIGNATURE_HMAC_SHA256SIGNATURE_HMAC_SHA512SIGNATURE_PLAINTEXTSIGNATURE_RSA_SHA1SIGNATURE_RSA_SHA256SIGNATURE_RSA_SHA512SIGNATURE_TYPE_AUTH_HEADERSIGNATURE_TYPE_BODYSIGNATURE_TYPE_QUERYerrors signatureutilsc6eZdZd dZdZdZdZdZd dZdS) BaseEndpointNc0||_|pt|_dSN)request_validatorrtoken_generator)selfrrs H/usr/lib/python3/dist-packages/oauthlib/oauth1/rfc5849/endpoints/base.py__init__zBaseEndpoint.__init__s!2.@.c tj|jdd}tj|jd}tj|jd}g}||||||t tdt|tj |ft|tj |ft|tj |ff}t|dkr6d|D}tjd d |f  |d \}}} n##t"$rtjd wxYw||| fS)zExtracts parameters from query, headers and body. Signature type is set to the source in which parameters were found. FT)headersexclude_oauth_signature with_realm)bodyr!) uri_queryr!c|dS)Nr)ss rz=BaseEndpoint._get_signature_type_and_params..,s !A$rcg|] }|d S)rr&).0r's r z?BaseEndpoint._get_signature_type_and_params..6sKKKA1Q4KKKrzFoauth_ params must come from only 1 signaturetype but were found in %sz,  descriptionr#Missing mandatory OAuth parameters.)rcollect_parametersr r#r$extendlistfilterrrfilter_oauth_paramsrrlenrInvalidRequestErrorjoin IndexError) rrequest header_params body_params query_paramsparams!signature_types_with_oauth_params found_typessignature_type oauth_paramss r_get_signature_type_and_paramsz+BaseEndpoint._get_signature_type_and_paramss "4W_MR_ceee 2 KPRRR  3g>OLQSSS  m$$$ k""" l###,0 ')-88 : &)+66 8 !6),77 9 I 2 2 - - ) 0 1 1A 5 5KK)JKKKK,9!YY{335666 6  C3T4 0NFLL C C C,ACCC C Cv|33s E E:ct|pi}d|vr"t|dvrt||||}nt||d|}||\}}}t t |t |krt jdt |}|d|_ |d|_ |d|_ |d|_ |d |_ |d |_|d |_|d |_t |d |_||_d|D|_d |jddvrd|jD|_|S)Nz Content-TypezDuplicate OAuth1 entries.r-oauth_signatureoauth_consumer_key oauth_token oauth_nonceoauth_timestampoauth_callbackoauth_verifieroauth_signature_methodrealmc(g|]\}}|dk ||fS)rEr&r+kvs rr,z0BaseEndpoint._create_request..es+NNNTQq.hs3JJJ"&!QALL !!f>GGc;G<??)--.BCC%1%5%5m%D%D"$((77 (,,->??+//0@AA'++,<==#/#3#34L#M#M V ((11 +ONVNNN go))/2>> > >JJ*1.JJJGNrc|jjr?|jdst jdSdS)Nzhttps://)r enforce_sslr]lower startswithrInsecureTransportError)rr9s r_check_transport_securityz&BaseEndpoint._check_transport_securitymsW  " . 2K%%''22:>> 2/11 1 2 2 2 2rct|j|j|j|j|jfst jd|j|jj vr8t j d |j|jj d|j vr&|j ddkrt jdt|jdkrt jd t|j}tt!j|z |jjkr"t jd |jjzn##t$$rt jd wxYw|j|jst jd |j|jst jd dS) Nr/r-z"Invalid signature, {} not in {!r}. oauth_versionz1.0zInvalid OAuth version. zInvalid timestamp sizezCTimestamp given is invalid, differ from allowed by over %s seconds.zTimestamp must be an integer.zInvalid client key format.zInvalid nonce format.)allrrVrXrYr\rr6rallowed_signature_methodsInvalidSignatureMethodErrorformatrAr5intabstimetimestamp_lifetime ValueErrorcheck_client_key check_nonce)rr9tss r_check_mandatory_parametersz(BaseEndpoint._check_mandatory_parametersssZG%w'9M7#4,.// C,ACCC C(&@AA4@GG,*DFFGGG G w3 3 3$_5>>,4666 6 w ! !R ' ',4666 6 RW&''B49;;#$$t'='PPP0"?%)%;%N"PRRRRQ = = =,;=== = = %66w7IJJ :,8::: :%11'-@@ 5,3555 5 5 5s +E E3Fc|jtks |jtks|jtkr|j|j|}|jtkrtj||}nh|jtkrtj ||}nA|jtkrtj ||}nd}n|j |j|}d}|j rO|r'|j |j|j |}n&|j|j|j |}|jtkrtj|||}nw|jt"krtj|||}nP|jt&krtj|||}n)|jt*krtj|||}nd}|S)NF)r\r r rr get_rsa_keyrVrverify_rsa_sha1verify_rsa_sha256verify_rsa_sha512get_client_secretrWget_request_token_secretget_access_token_secretrverify_hmac_sha1r verify_hmac_sha256r verify_hmac_sha512r verify_plaintext)rr9is_token_requestrsa_keyvalid_signature client_secretresource_owner_secrets r_check_signaturezBaseEndpoint._check_signatures  #'9 9 9  #'; ; ;  #'; ; ; ,88"G--G'+==="+";GW"M"M)-AAA"+"=gw"O"O)-AAA"+"=gw"O"O"'!2DD"G--M%) !) %# %.GG#.0J#%%*) .FF#.0J#%%* '+>>>"+"<],A#C#C)-BBB"+">],A#C#C)-BBB"+">],A#C#C)-@@@"+"<],A#C#C#(rr)F) __name__ __module__ __qualname__rrBr_rerurr&rrrrsAAAA(4(4(4T&&&P222 @5@5@5D??????rr)__doc__rooauthlib.commonrrrrDrrr r r r r rrrrrrrrr&rrrs HHHHHHHHHH__________r