You can download this code by clicking the button below.
This code is now available for download.
This function uses the OAuthlib library to exchange an authorization code for an access token. It first parses the authorization response to extract the authorization code, then creates a BackendApplicationClient and a TokenRequest. Finally, it parses the token request and exchanges the authorization code for an access token.
Technology Stack : OAuthlib, urllib.parse
Code Type : OAuth 2.0 Token Exchange
Code Difficulty : Intermediate
def get_access_token(client_id, client_secret, token_url, authorization_response):
from oauthlib.oauth2 import BackendApplicationClient, TokenRequest
from oauthlib.oauth2 import TokenResponse
from urllib.parse import urlparse, parse_qs
# Parse the authorization response to extract the authorization code
parsed_url = urlparse(authorization_response)
query_components = parse_qs(parsed_url.query)
authorization_code = query_components.get('code', [None])[0]
# Create a client
client = BackendApplicationClient(client_id=client_id)
token_request = TokenRequest(client=client,
token_url=token_url,
authorization_response=authorization_response,
code=authorization_code)
# Create a token response object
token_response = TokenResponse()
# Exchange the authorization code for a token
token_response = token_response.parse(token_request, state=None)
return token_response.token