@@ -23,12 +23,14 @@ def get_new_access_token(
2323) -> tuple [str , str ]:
2424 """Obtain a new access token and secret.
2525
26- BIGSdb OAuth endpoints require GET (not POST), so we use oauth.get()
27- directly rather than requests-oauthlib's fetch_request_token/fetch_access_token
28- helpers, which both default to POST .
26+ BIGSdb OAuth endpoints require GET (not POST), and expect OAuth parameters
27+ as query string parameters (not in the Authorization header), so we use
28+ signature_type='query' and oauth.get() directly .
2929 """
3030 # Step 1: GET request token
31- oauth = OAuth1Session (client_id , client_secret = client_secret , callback_uri = "oob" )
31+ oauth = OAuth1Session (
32+ client_id , client_secret = client_secret , callback_uri = "oob" , signature_type = "query"
33+ )
3234 response = oauth .get (f"{ base_api } /db/{ db } /oauth/get_request_token" )
3335 if not response .ok :
3436 print (f"Error obtaining request token: { response .text } " )
@@ -51,6 +53,7 @@ def get_new_access_token(
5153 resource_owner_key = request_token ,
5254 resource_owner_secret = request_secret ,
5355 verifier = verifier ,
56+ signature_type = "query" ,
5457 )
5558 response = oauth .get (f"{ base_api } /db/{ db } /oauth/get_access_token" )
5659 if not response .ok :
0 commit comments