commit 1ddb02e369ed9a8568ea4dd5cf795178c9ba9a5907a9b765a2a6b24ebb0e2012 Author: Dirk Mueller Date: Sun Nov 10 22:28:21 2024 +0000 - update to 2.0.0: * OAuth2Session now correctly uses the self.verify value if verify is not overridden in fetch_token and refresh_token. Fixes #404. * OAuth2Session constructor now uses its client.scope when a client is provided and scope is not overridden. Fixes #408 * Add refresh_token_request and access_token_request compliance hooks * Add PKCE support and Auth0 example * Add support for Python 3.8-3.12 * Remove support of Python 2.x, <3.7 * Migrated to Github Action * Updated dependencies * Cleanup some docs and examples * Version 2.0.0 published initially as 1.4.0, it was yanked eventually. * Add initial support for OAuth Mutual TLS (draft-ietf-oauth- mtls) * Removed outdated LinkedIn Compliance Fixes * Add eBay compliance fix * Add Spotify OAuth 2 Tutorial * Add support for python 3.8, 3.9 * Fixed LinkedIn Compliance Fixes * Fixed ReadTheDocs Documentation and sphinx errors * Moved pipeline to GitHub Actions * Instagram compliance fix * Added force_querystring argument to fetch_token() method on OAuth2Session * This project now depends on OAuthlib 3.0.0 and above. It does not support versions of OAuthlib before 3.0.0. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-requests-oauthlib?expand=0&rev=22 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/_service b/_service new file mode 100644 index 0000000..790feac --- /dev/null +++ b/_service @@ -0,0 +1,7 @@ + + + yes + enable + + + diff --git a/python-requests-oauthlib.changes b/python-requests-oauthlib.changes new file mode 100644 index 0000000..79eca90 --- /dev/null +++ b/python-requests-oauthlib.changes @@ -0,0 +1,339 @@ +------------------------------------------------------------------- +Sun Nov 10 22:28:11 UTC 2024 - Dirk Müller + +- update to 2.0.0: + * OAuth2Session now correctly uses the self.verify value if + verify is not overridden in fetch_token and refresh_token. + Fixes #404. + * OAuth2Session constructor now uses its client.scope when a + client is provided and scope is not overridden. Fixes #408 + * Add refresh_token_request and access_token_request compliance + hooks + * Add PKCE support and Auth0 example + * Add support for Python 3.8-3.12 + * Remove support of Python 2.x, <3.7 + * Migrated to Github Action + * Updated dependencies + * Cleanup some docs and examples + * Version 2.0.0 published initially as 1.4.0, it was yanked + eventually. + * Add initial support for OAuth Mutual TLS (draft-ietf-oauth- + mtls) + * Removed outdated LinkedIn Compliance Fixes + * Add eBay compliance fix + * Add Spotify OAuth 2 Tutorial + * Add support for python 3.8, 3.9 + * Fixed LinkedIn Compliance Fixes + * Fixed ReadTheDocs Documentation and sphinx errors + * Moved pipeline to GitHub Actions + * Instagram compliance fix + * Added force_querystring argument to fetch_token() method on + OAuth2Session + * This project now depends on OAuthlib 3.0.0 and above. It does + not support versions of OAuthlib before 3.0.0. + * Updated oauth2 tests to use 'sess' for an OAuth2Session + instance instead of auth because OAuth2Session objects and + methods acceept an auth paramether which is typically an + instance of requests.auth.HTTPBasicAuth + * OAuth2Session.fetch_token previously tried to guess how and + where to provide "client" and "user" credentials incorrectly. + This was incompatible with some OAuth servers and + incompatible with breaking changes in oauthlib that seek to + correctly provide the client_id. The older implementation + also did not raise the correct exceptions when username and + password are not present on Legacy clients. + * Avoid automatic netrc authentication for OAuth2Session. + * Adjusted version specifier for oauthlib dependency: this + project is not yet compatible with oauthlib 3.0.0. + * Dropped dependency on nose. + * Minor changes to clean up the code and make it more + readable/maintainable. + * Removed support for Python 2.6 and Python 3.3. This project + now supports Python 2.7, and Python 3.4 and above. + * Added several examples to the documentation. + * Added plentymarkets compliance fix. + * Added a token property to OAuth1Session, to match the + corresponding token property on OAuth2Session. + * Added Fitbit compliance fix. + * Fixed an issue where newlines in the response body for the + access token request would cause errors when trying to + extract the token. + * Fixed an issue introduced in v0.7.0 where users passing auth + to several methods would encounter conflicts with the + client_id and client_secret-derived auth. The user-supplied + auth argument is now used in preference to those options. + * Allowed OAuth2Session.request to take the client_id and + client_secret parameters for the purposes of automatic token + refresh, which may need them. + * Use client_id and client_secret for the Authorization header + if provided. + * Allow explicit bypass of the Authorization header by setting + auth=False. + * Pass through the proxies kwarg when refreshing tokens. + * Miscellaneous cleanups. + * Fixed a bug when sending authorization in headers with no + username and password present. + * Make sure we clear the session token before obtaining a new + one. + * Some improvements to the Slack compliance fix. + * Avoid timing problems around token refresh. + * Allow passing arbitrary arguments to requests when calling + fetch_request_token and fetch_access_token. + * Add compliance fix for Slack. + * Add compliance fix for Mailchimp. + * TokenRequestDenied exceptions now carry the entire response, + not just the status code. + * Pass through keyword arguments when refreshing tokens + automatically. + * Send authorization in headers, not just body, to maximize + compatibility. + * More getters/setters available for OAuth2 session client + values. + * Allow sending custom headers when refreshing tokens, and set + some defaults. + * Fix TypeError being raised instead of TokenMissing error. + * Raise requests exceptions on 4XX and 5XX responses in the + OAuth2 flow. + * Avoid AttributeError when initializing the OAuth2Session + class without complete client information. + * New authorized property on OAuth1Session and OAuth2Session, + which allows you to easily determine if the session is + already authorized with OAuth tokens or not. + * New TokenMissing and VerifierMissing exception classes for + OAuth1Session: this will make it easier to catch and identify + these exceptions. + * New install target [rsa] for people using OAuth1 RSA-SHA1 + signature method. + * Fixed bug in OAuth2 where supplied state param was not used + in auth url. + * OAuth2 HTTPS checking can be disabled by setting environment + variable OAUTHLIB_INSECURE_TRANSPORT. + * OAuth1 now re-authorize upon redirects. + * OAuth1 token fetching now raise a detailed error message when + the response body is incorrectly encoded or the request was + denied. + * Added support for custom OAuth1 clients. + * OAuth2 compliance fix for Sina Weibo. + * Multiple fixes to facebook compliance fix. + * Compliance fixes now re-encode body properly as bytes in + Python 3. + * Logging now properly done under requests_oauthlib namespace + instead of piggybacking on oauthlib namespace. + * Logging introduced for OAuth1 auth and session. + * OAuth1Session methods only return unicode strings. #55. + * Renamed requests_oauthlib.core to + requests_oauthlib.oauth1_auth for consistency. #79. + * Added Facebook compliance fix and access_token_response hook + to OAuth2Session. #63. + * Added LinkedIn compliance fix. + * Added refresh_token_response compliance hook, invoked before + parsing the refresh token. + * Correctly limit compliance hooks to running only once! + * Content type guessing should only be done when no content + type is given + * OAuth1 now updates r.headers instead of replacing it with non + case insensitive dict + * Remove last use of Response.content (in OAuth1Session). #44. + * State param can now be supplied in + OAuth2Session.authorize_url + +------------------------------------------------------------------- +Fri Apr 21 12:33:03 UTC 2023 - Dirk Müller + +- add sle15_python_module_pythons (jsc#PED-68) + +------------------------------------------------------------------- +Thu Apr 13 22:44:30 UTC 2023 - Matej Cepl + +- Make calling of %{sle15modernpython} optional. + +------------------------------------------------------------------- +Thu Apr 14 06:51:09 UTC 2022 - Steve Kowalik + +- Remove unneeded BuildRequires on mock. + +------------------------------------------------------------------- +Tue Feb 15 09:22:48 UTC 2022 - Dirk Müller + +- update to 1.3.1: + * Add initial support for OAuth Mutual TLS (draft-ietf-oauth-mtls) + * Add eBay compliance fix + * Add Spotify OAuth 2 Tutorial + * Add support for python 3.8, 3.9 + * Fixed LinkedIn Compliance Fixes + * Fixed ReadTheDocs Documentation and sphinx errors + * Moved pipeline to GitHub Actions + +------------------------------------------------------------------- +Wed Sep 29 01:34:27 UTC 2021 - Steve Kowalik + +- Use pytest to run the testsuite. + +------------------------------------------------------------------- +Mon Mar 2 09:17:37 UTC 2020 - Dirk Mueller + +- update to 1.3.0: + * Instagram compliance fix + * Added ``force_querystring`` argument to fetch_token() method on OAuth2Session + +------------------------------------------------------------------- +Sun Feb 17 01:08:23 UTC 2019 - John Vandenberg + +- Activate test suite, skipping three online tests +- Update to version 1.2.0 + * This project now depends on OAuthlib 3.0.0 and above. + * Updated oauth2 tests to use 'sess' for an OAuth2Session instance instead + of auth because OAuth2Session objects and methods acceept an auth + paramether which is typically an instance of requests.auth.HTTPBasicAuth + * OAuth2Session.fetch_token previously tried to guess how and where to + provide "client" and "user" credentials incorrectly. This was + incompatible with some OAuth servers and incompatible with breaking + changes in oauthlib that seek to correctly provide the client_id. + The older implementation also did not raise the correct exceptions when + username and password are not present on Legacy clients. + * Avoid automatic netrc authentication for OAuth2Session. +- from v1.1.0 + * Adjusted version specifier for oauthlib dependency + * Dropped dependency on nose. + * Minor changes to clean up the code and make it more readable/maintainable. +- from v1.0.0 + * Removed support for Python 2.6 and Python 3.3. + * Added several examples to the documentation. + * Added plentymarkets compliance fix. + * Added a token property to OAuth1Session, to match the corresponding + token property on OAuth2Session. + +------------------------------------------------------------------- +Tue Dec 4 12:53:49 UTC 2018 - Matej Cepl + +- Remove superfluous devel dependency for noarch package + +------------------------------------------------------------------- +Wed Apr 26 08:55:54 UTC 2017 - pousaduarte@gmail.com + +- Update to version 0.8.0: + * Convert package to singlespec + * Added Outlook Calender API example + * Mentioned file to example.rst + * Update google.rst + * Allow OAuth2 session request() to take client_id and client_secret + * Add requests-mock to tox dependencies. + * Strips new lines in fetch_token response body + * Prefer user-supplied auth credentials. + * add a fitbit compliance fix + * test successful fitbit auth calls as well + * v0.8.0 + +------------------------------------------------------------------- +Mon Jan 30 07:51:16 UTC 2017 - tbechtold@suse.com + +update to version v0.7.0 + * Subclass requests.auth.AuthBase + * Allow fetch_token to run through a proxy + * Cleaning the previous token before fetching a new one, to avoid a + TokenExpiredError + * Adapts previous commit + * Don't nullify token before refresh + * oauthlib raises a different error from what we expect + * Date for 0.4.2 release is added to HISTORY + * v0.6.2 + * Adding Backend Application Flow documentation + * v0.6.0 + * v0.6.1 + * opt in to Travis container infrastructure + * minor fix to the previous commit + * v0.7.0 + * Fix TypeError in TokenMissing class (call to parent) + * Added authorization header for token access + * Be more explicit about Travis installing unittest2 + * OAuth1 tests for authorized boolean + * Only set default headers if headers are None + * rst syntax fix + * Google has changed OAuth 2.0 endpoints + * Use client_id and client_secret as basic auth credentials if provided + * Add installation instructions to docs index + * Add **request_kwargs to fetch_request_token and fetch_access_token in + oauth1_session to be passed to post-method of requests.session + * Allow OAuth2 session request() to take client_id and client_secret + * typo in error message + * Add requests-mock to tox dependencies. + * Prune .pyc files when creating a release + * Update google.rst + * Test 3.5 on Travis + * Use unittest2 when it is installed + * Completely remove username/password basic auth logic branch + * Add setters/getters for client_id and access_token + * Fix up line-length in note. + * attach the entire response object when raising TokenRequestDenied + * MailChimp compliance fixes that work around oauthlib issue #296 + * Allow explicit bypass of basic auth logic branch + * Add imports for Legacy Application Flow docs + * add license title + * Need signedtoken extra for oauthlib dependency + * Include import in Backend Application Flow docs + * cleaning code and checking that a password was supplied along username + * Update real_world_example.rst + * Added tests for OAuth2 authorized boolean + * Keep the username/password basic auth logic branch + * Fix typo + * [bugfix] Add headers in refresh_token flow + * Setter/getter for self.token + * Don't intercept HTTP errors before OAuthlib can handle them + * Add tox.ini + * Verify return value of OAuth2 response (#178) + * Fix a problem that its get method always returns 'not_authed' on Slack + * Update Legacy Application Flow documentation + * Check if client exists before referencing client_id + * Response objects should have cookies, not cookes + * Preventing sending Basic Auth headers with "None:None" + * Users should be able to override the token when using the Slack compliance + fix + * cleanup docstring of OAuth1Session to fix a typo/usage error + * Allows tokens to be refreshed via a proxy + * Add unittest2 test dependency for Python 2.6 + * Skip rsa tests when dependencies not met + * fixed the layout of the note + * Rename _refresh flag to withhold_token + * Use requests-mock library, add tests for Slack compliance fix + * Remove misleading README example. + * added note to the real world example explaining its caveats + * v0.5.0 + * making operator precedence more readable + * When refreshing tokens, pass through **kwargs +- Use pypi.io as Source url +------------------------------------------------------------------- +Thu Mar 26 14:03:18 UTC 2015 - prusnak@opensuse.org + +- updated to 0.4.2: + - New ``authorized`` property on OAuth1Session and OAuth2Session, + which allows you to easily determine if the session is already + authorized with OAuth tokens or not. + - New ``TokenMissing`` and ``VerifierMissing`` exception classes + for OAuth1Session: this will make it easier to catch and identify + these exceptions. + +------------------------------------------------------------------- +Wed Jul 23 12:33:09 UTC 2014 - mcihar@suse.cz + +- Upgrade to 0.4.1: + - New install target ``[rsa]`` for people using OAuth1 RSA-SHA1 signature + method. + - Fixed bug in OAuth2 where supplied state param was not used in auth url. + - OAuth2 HTTPS checking can be disabled by setting environment variable + ``OAUTHLIB_INSECURE_TRANSPORT``. + - OAuth1 now re-authorize upon redirects. + - OAuth1 token fetching now raise a detailed error message when the + response body is incorrectly encoded or the request was denied. + - Added support for custom OAuth1 clients. + - OAuth2 compliance fix for Sina Weibo. + - Multiple fixes to facebook compliance fix. + - Compliance fixes now re-encode body properly as bytes in Python 3. + - Logging now properly done under ``requests_oauthlib`` namespace instead + of piggybacking on oauthlib namespace. + - Logging introduced for OAuth1 auth and session. + +------------------------------------------------------------------- +Thu Nov 7 10:02:12 UTC 2013 - mcihar@suse.cz + +- initial packaging + diff --git a/python-requests-oauthlib.spec b/python-requests-oauthlib.spec new file mode 100644 index 0000000..17ffdb8 --- /dev/null +++ b/python-requests-oauthlib.spec @@ -0,0 +1,67 @@ +# +# spec file for package python-requests-oauthlib +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%{?sle15_python_module_pythons} +Name: python-requests-oauthlib +Version: 2.0.0 +Release: 0 +Summary: OAuthlib authentication support for Requests +License: ISC +URL: https://github.com/requests/requests-oauthlib +Source: https://files.pythonhosted.org/packages/source/r/requests-oauthlib/requests-oauthlib-%{version}.tar.gz +BuildRequires: %{python_module oauthlib >= 3.0.0} +BuildRequires: %{python_module pip} +BuildRequires: %{python_module pytest} +BuildRequires: %{python_module requests >= 2.0.0} +BuildRequires: %{python_module requests-mock} +BuildRequires: %{python_module selenium} +BuildRequires: %{python_module setuptools} +BuildRequires: %{python_module wheel} +BuildRequires: fdupes +BuildRequires: python-rpm-macros +Requires: python-oauthlib >= 3.0.0 +Requires: python-requests >= 2.0.0 +BuildArch: noarch +%python_subpackages + +%description +This project provides first-class OAuth library support for Requests. + +%prep +%setup -q -n requests-oauthlib-%{version} + +%build +%pyproject_wheel + +%install +%pyproject_install + +#hardlink duplicated files +%fdupes %{buildroot} + +%check +# Three tests initiate network traffic to httpbin.org +%pytest -k 'not (testCanPostBinaryData or test_content_type_override or test_url_is_native_str or test_login)' + +%files %{python_files} +%license LICENSE +%doc AUTHORS.rst README.rst +%{python_sitelib}/requests_oauthlib +%{python_sitelib}/requests_oauthlib-%{version}.dist-info + +%changelog diff --git a/requests-oauthlib-1.3.1.tar.gz b/requests-oauthlib-1.3.1.tar.gz new file mode 100644 index 0000000..d7e3c3d --- /dev/null +++ b/requests-oauthlib-1.3.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a +size 52027 diff --git a/requests-oauthlib-2.0.0.tar.gz b/requests-oauthlib-2.0.0.tar.gz new file mode 100644 index 0000000..0a3e3b8 --- /dev/null +++ b/requests-oauthlib-2.0.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3dffaebd884d8cd778494369603a9e7b58d29111bf6b41bdc2dcd87203af4e9 +size 55650