X-Git-Url: https://projects.mako.cc/source/yelp-api-cdsw/blobdiff_plain/6e31b0dbc2513f947d3cfca29c5737a1185af6db..52028dfd9d1930d7c6e2fac4777c4b2c2161cc86:/requests_oauthlib/compliance_fixes/linkedin.py diff --git a/requests_oauthlib/compliance_fixes/linkedin.py b/requests_oauthlib/compliance_fixes/linkedin.py new file mode 100644 index 0000000..ad19004 --- /dev/null +++ b/requests_oauthlib/compliance_fixes/linkedin.py @@ -0,0 +1,24 @@ +from json import loads, dumps + +from oauthlib.common import add_params_to_uri + + +def linkedin_compliance_fix(session): + + def _missing_token_type(r): + token = loads(r.text) + token['token_type'] = 'Bearer' + r._content = dumps(token) + return r + + def _non_compliant_param_name(url, headers, data): + token = [('oauth2_access_token', session._client.access_token)] + url = add_params_to_uri(url, token) + return url, headers, data + + session._client.default_token_placement = 'query' + session.register_compliance_hook('access_token_response', + _missing_token_type) + session.register_compliance_hook('protected_request', + _non_compliant_param_name) + return session