99 < link rel ="stylesheet " type ="text/css " href ="../../_static/pygments.css " />
1010 < link rel ="stylesheet " type ="text/css " href ="../../_static/alabaster.css " />
1111 < script data-url_root ="../../ " id ="documentation_options " src ="../../_static/documentation_options.js "> </ script >
12- < script src ="../../_static/jquery.js "> </ script >
13- < script src ="../../_static/underscore.js "> </ script >
14- < script src ="../../_static/_sphinx_javascript_frameworks_compat.js "> </ script >
1512 < script src ="../../_static/doctools.js "> </ script >
1613 < script src ="../../_static/sphinx_highlight.js "> </ script >
1714 < link rel ="index " title ="Index " href ="../../genindex.html " />
@@ -60,7 +57,7 @@ <h1>Source code for gen3.auth</h1><div class="highlight"><pre>
6057
6158
6259< span class ="k "> def</ span > < span class ="nf "> decode_token</ span > < span class ="p "> (</ span > < span class ="n "> token_str</ span > < span class ="p "> ):</ span >
63- < span class ="sd "> """</ span >
60+ < span class =" w " > </ span > < span class ="sd "> """</ span >
6461< span class ="sd "> jq -r '.api_key' < ~/.gen3/qa-covid19.planx-pla.net.json | awk -F . '{ print $2 }' | base64 --decode | jq -r .</ span >
6562< span class ="sd "> """</ span >
6663 < span class ="n "> tokenParts</ span > < span class ="o "> =</ span > < span class ="n "> token_str</ span > < span class ="o "> .</ span > < span class ="n "> split</ span > < span class ="p "> (</ span > < span class ="s2 "> "."</ span > < span class ="p "> )</ span >
@@ -73,7 +70,7 @@ <h1>Source code for gen3.auth</h1><div class="highlight"><pre>
7370
7471
7572< span class ="k "> def</ span > < span class ="nf "> endpoint_from_token</ span > < span class ="p "> (</ span > < span class ="n "> token_str</ span > < span class ="p "> ):</ span >
76- < span class ="sd "> """</ span >
73+ < span class =" w " > </ span > < span class ="sd "> """</ span >
7774< span class ="sd "> Extract the endpoint from a JWT issue ("iss" property)</ span >
7875< span class ="sd "> """</ span >
7976 < span class ="n "> info</ span > < span class ="o "> =</ span > < span class ="n "> decode_token</ span > < span class ="p "> (</ span > < span class ="n "> token_str</ span > < span class ="p "> )</ span >
@@ -85,7 +82,7 @@ <h1>Source code for gen3.auth</h1><div class="highlight"><pre>
8582
8683
8784< span class ="k "> def</ span > < span class ="nf "> _handle_access_token_response</ span > < span class ="p "> (</ span > < span class ="n "> resp</ span > < span class ="p "> ,</ span > < span class ="n "> token_key</ span > < span class ="p "> ):</ span >
88- < span class ="sd "> """</ span >
85+ < span class =" w " > </ span > < span class ="sd "> """</ span >
8986< span class ="sd "> Shared helper for both get_access_token_with_key and get_access_token_from_wts</ span >
9087< span class ="sd "> """</ span >
9188 < span class ="n "> err_msg</ span > < span class ="o "> =</ span > < span class ="s2 "> "Failed to get an access token from </ span > < span class ="si "> {}</ span > < span class ="s2 "> :</ span > < span class ="se "> \n</ span > < span class ="si "> {}</ span > < span class ="s2 "> "</ span >
@@ -101,7 +98,7 @@ <h1>Source code for gen3.auth</h1><div class="highlight"><pre>
10198
10299
103100< span class ="k "> def</ span > < span class ="nf "> get_access_token_with_key</ span > < span class ="p "> (</ span > < span class ="n "> api_key</ span > < span class ="p "> ):</ span >
104- < span class ="sd "> """</ span >
101+ < span class =" w " > </ span > < span class ="sd "> """</ span >
105102< span class ="sd "> Try to fetch an access token given the api key</ span >
106103< span class ="sd "> """</ span >
107104 < span class ="n "> endpoint</ span > < span class ="o "> =</ span > < span class ="n "> endpoint_from_token</ span > < span class ="p "> (</ span > < span class ="n "> api_key</ span > < span class ="p "> [</ span > < span class ="s2 "> "api_key"</ span > < span class ="p "> ])</ span >
@@ -113,7 +110,7 @@ <h1>Source code for gen3.auth</h1><div class="highlight"><pre>
113110
114111
115112< span class ="k "> def</ span > < span class ="nf "> get_access_token_with_client_credentials</ span > < span class ="p "> (</ span > < span class ="n "> endpoint</ span > < span class ="p "> ,</ span > < span class ="n "> client_credentials</ span > < span class ="p "> ,</ span > < span class ="n "> scopes</ span > < span class ="p "> ):</ span >
116- < span class ="sd "> """</ span >
113+ < span class =" w " > </ span > < span class ="sd "> """</ span >
117114< span class ="sd "> Try to get an access token from Fence using client credentials</ span >
118115
119116< span class ="sd "> Args:</ span >
@@ -145,7 +142,7 @@ <h1>Source code for gen3.auth</h1><div class="highlight"><pre>
145142
146143
147144< span class ="k "> def</ span > < span class ="nf "> get_token_cache_file_name</ span > < span class ="p "> (</ span > < span class ="n "> key</ span > < span class ="p "> ):</ span >
148- < span class ="sd "> """Compute the path to the access-token cache file"""</ span >
145+ < span class =" w " > </ span > < span class ="sd "> """Compute the path to the access-token cache file"""</ span >
149146 < span class ="n "> cache_folder</ span > < span class ="o "> =</ span > < span class ="s2 "> "</ span > < span class ="si "> {}</ span > < span class ="s2 "> /.cache/gen3/"</ span > < span class ="o "> .</ span > < span class ="n "> format</ span > < span class ="p "> (</ span > < span class ="n "> os</ span > < span class ="o "> .</ span > < span class ="n "> path</ span > < span class ="o "> .</ span > < span class ="n "> expanduser</ span > < span class ="p "> (</ span > < span class ="s2 "> "~"</ span > < span class ="p "> ))</ span >
150147 < span class ="k "> if</ span > < span class ="ow "> not</ span > < span class ="n "> os</ span > < span class ="o "> .</ span > < span class ="n "> path</ span > < span class ="o "> .</ span > < span class ="n "> isdir</ span > < span class ="p "> (</ span > < span class ="n "> cache_folder</ span > < span class ="p "> ):</ span >
151148 < span class ="n "> os</ span > < span class ="o "> .</ span > < span class ="n "> makedirs</ span > < span class ="p "> (</ span > < span class ="n "> cache_folder</ span > < span class ="p "> )</ span >
@@ -157,7 +154,7 @@ <h1>Source code for gen3.auth</h1><div class="highlight"><pre>
157154
158155
159156< div class ="viewcode-block " id ="Gen3Auth "> < a class ="viewcode-back " href ="../../auth.html#gen3.auth.Gen3Auth "> [docs]</ a > < span class ="k "> class</ span > < span class ="nc "> Gen3Auth</ span > < span class ="p "> (</ span > < span class ="n "> AuthBase</ span > < span class ="p "> ):</ span >
160- < span class ="sd "> """Gen3 auth helper class for use with requests auth.</ span >
157+ < span class =" w " > </ span > < span class ="sd "> """Gen3 auth helper class for use with requests auth.</ span >
161158
162159< span class ="sd "> Implements requests.auth.AuthBase in order to support JWT authentication.</ span >
163160< span class ="sd "> Generates access tokens from the provided refresh token file or string.</ span >
@@ -335,7 +332,7 @@ <h1>Source code for gen3.auth</h1><div class="highlight"><pre>
335332
336333 < span class ="nd "> @property</ span >
337334 < span class ="k "> def</ span > < span class ="nf "> _token_info</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> ):</ span >
338- < span class ="sd "> """</ span >
335+ < span class =" w " > </ span > < span class ="sd "> """</ span >
339336< span class ="sd "> Wrapper to fix intermittent errors when the token is being refreshed</ span >
340337< span class ="sd "> and `_access_token_info` == None</ span >
341338< span class ="sd "> """</ span >
@@ -344,7 +341,7 @@ <h1>Source code for gen3.auth</h1><div class="highlight"><pre>
344341 < span class ="k "> return</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _access_token_info</ span >
345342
346343 < span class ="k "> def</ span > < span class ="fm "> __call__</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> ,</ span > < span class ="n "> request</ span > < span class ="p "> ):</ span >
347- < span class ="sd "> """Adds authorization header to the request</ span >
344+ < span class =" w " > </ span > < span class ="sd "> """Adds authorization header to the request</ span >
348345
349346< span class ="sd "> This gets called by the python.requests package on outbound requests</ span >
350347< span class ="sd "> so that authentication can be added.</ span >
@@ -358,7 +355,7 @@ <h1>Source code for gen3.auth</h1><div class="highlight"><pre>
358355 < span class ="k "> return</ span > < span class ="n "> request</ span >
359356
360357 < span class ="k "> def</ span > < span class ="nf "> _handle_401</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> ,</ span > < span class ="n "> response</ span > < span class ="p "> ,</ span > < span class ="o "> **</ span > < span class ="n "> kwargs</ span > < span class ="p "> ):</ span >
361- < span class ="sd "> """Handles failed requests when authorization failed.</ span >
358+ < span class =" w " > </ span > < span class ="sd "> """Handles failed requests when authorization failed.</ span >
362359
363360< span class ="sd "> This gets called after a failed request when an HTTP 401 error</ span >
364361< span class ="sd "> occurs. This then tries to refresh the access token in the event</ span >
@@ -387,7 +384,7 @@ <h1>Source code for gen3.auth</h1><div class="highlight"><pre>
387384 < span class ="k "> return</ span > < span class ="n "> _response</ span >
388385
389386< div class ="viewcode-block " id ="Gen3Auth.refresh_access_token "> < a class ="viewcode-back " href ="../../auth.html#gen3.auth.Gen3Auth.refresh_access_token "> [docs]</ a > < span class ="k "> def</ span > < span class ="nf "> refresh_access_token</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> ,</ span > < span class ="n "> endpoint</ span > < span class ="o "> =</ span > < span class ="kc "> None</ span > < span class ="p "> ):</ span >
390- < span class ="sd "> """Get a new access token"""</ span >
387+ < span class =" w " > </ span > < span class ="sd "> """Get a new access token"""</ span >
391388 < span class ="k "> if</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _use_wts</ span > < span class ="p "> :</ span >
392389 < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _access_token</ span > < span class ="o "> =</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> get_access_token_from_wts</ span > < span class ="p "> (</ span > < span class ="n "> endpoint</ span > < span class ="p "> )</ span >
393390 < span class ="k "> elif</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _client_credentials</ span > < span class ="p "> :</ span >
@@ -435,7 +432,7 @@ <h1>Source code for gen3.auth</h1><div class="highlight"><pre>
435432 < span class ="k "> raise</ span > < span class ="n "> e</ span >
436433
437434< div class ="viewcode-block " id ="Gen3Auth.get_access_token "> < a class ="viewcode-back " href ="../../auth.html#gen3.auth.Gen3Auth.get_access_token "> [docs]</ a > < span class ="k "> def</ span > < span class ="nf "> get_access_token</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> ):</ span >
438- < span class ="sd "> """Get the access token - auto refresh if within 5 minutes of expiration"""</ span >
435+ < span class =" w " > </ span > < span class ="sd "> """Get the access token - auto refresh if within 5 minutes of expiration"""</ span >
439436 < span class ="k "> if</ span > < span class ="ow "> not</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _access_token</ span > < span class ="p "> :</ span >
440437 < span class ="k "> if</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _use_wts</ span > < span class ="o "> ==</ span > < span class ="kc "> True</ span > < span class ="p "> :</ span >
441438 < span class ="n "> cache_file</ span > < span class ="o "> =</ span > < span class ="n "> get_token_cache_file_name</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _wts_idp</ span > < span class ="p "> )</ span >
@@ -468,7 +465,7 @@ <h1>Source code for gen3.auth</h1><div class="highlight"><pre>
468465 < span class ="k "> return</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> _access_token</ span > </ div >
469466
470467 < span class ="k "> def</ span > < span class ="nf "> _get_auth_value</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> ):</ span >
471- < span class ="sd "> """Returns the Authorization header value for the request</ span >
468+ < span class =" w " > </ span > < span class ="sd "> """Returns the Authorization header value for the request</ span >
472469
473470< span class ="sd "> This gets called when added the Authorization header to the request.</ span >
474471< span class ="sd "> This fetches the access token from the refresh token if the access token is missing.</ span >
@@ -477,7 +474,7 @@ <h1>Source code for gen3.auth</h1><div class="highlight"><pre>
477474 < span class ="k "> return</ span > < span class ="s2 "> "bearer "</ span > < span class ="o "> +</ span > < span class ="bp "> self</ span > < span class ="o "> .</ span > < span class ="n "> get_access_token</ span > < span class ="p "> ()</ span >
478475
479476< div class ="viewcode-block " id ="Gen3Auth.curl "> < a class ="viewcode-back " href ="../../auth.html#gen3.auth.Gen3Auth.curl "> [docs]</ a > < span class ="k "> def</ span > < span class ="nf "> curl</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> ,</ span > < span class ="n "> path</ span > < span class ="p "> ,</ span > < span class ="n "> request</ span > < span class ="o "> =</ span > < span class ="kc "> None</ span > < span class ="p "> ,</ span > < span class ="n "> data</ span > < span class ="o "> =</ span > < span class ="kc "> None</ span > < span class ="p "> ):</ span >
480- < span class ="sd "> """</ span >
477+ < span class =" w " > </ span > < span class ="sd "> """</ span >
481478< span class ="sd "> Curl the given endpoint - ex: gen3 curl /user/user. Return requests.Response</ span >
482479
483480< span class ="sd "> Args:</ span >
@@ -509,7 +506,7 @@ <h1>Source code for gen3.auth</h1><div class="highlight"><pre>
509506 < span class ="k "> return</ span > < span class ="n "> output</ span > </ div >
510507
511508< div class ="viewcode-block " id ="Gen3Auth.get_access_token_from_wts "> < a class ="viewcode-back " href ="../../auth.html#gen3.auth.Gen3Auth.get_access_token_from_wts "> [docs]</ a > < span class ="k "> def</ span > < span class ="nf "> get_access_token_from_wts</ span > < span class ="p "> (</ span > < span class ="bp "> self</ span > < span class ="p "> ,</ span > < span class ="n "> endpoint</ span > < span class ="o "> =</ span > < span class ="kc "> None</ span > < span class ="p "> ):</ span >
512- < span class ="sd "> """</ span >
509+ < span class =" w " > </ span > < span class ="sd "> """</ span >
513510< span class ="sd "> Try to fetch an access token for the given idp from the wts</ span >
514511< span class ="sd "> in the given namespace. If idp is not set, then default to "local"</ span >
515512< span class ="sd "> """</ span >
0 commit comments