Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-flask-oidc for 
openSUSE:Factory checked in at 2025-05-06 16:42:36
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-flask-oidc (Old)
 and      /work/SRC/openSUSE:Factory/.python-flask-oidc.new.30101 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-flask-oidc"

Tue May  6 16:42:36 2025 rev:6 rq:1274786 version:2.3.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-flask-oidc/python-flask-oidc.changes      
2023-04-13 14:11:36.800594851 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-flask-oidc.new.30101/python-flask-oidc.changes
   2025-05-06 16:42:51.819801039 +0200
@@ -1,0 +2,35 @@
+Tue May  6 06:20:57 UTC 2025 - Steve Kowalik <steven.kowa...@suse.com>
+
+- Update to 2.3.1:
+  * Important
+    + Rebased the Flask OIDC API on Authlib.
+  * Added
+    + Make the client_secrets.json file optional when OIDC is disabled
+    + Support Python 3.12
+    + Re-add redirect_to_auth_server() for compatibility with v1.x
+    + Add a user model to flask.g with convenience properties
+    + Add signals to hook into the login and logout process
+  * Fixed
+    + Include the root_path when redirecting to the custom callback route
+    + Avoid redirect loops when the app is not mounted on the webserver root
+    + Handle token expiration when there is no refresh_token or no token URL
+    + Use the OIDC_CALLBACK_ROUTE with the ID provider when it is defined,
+      instead of the default
+    + Auto-renew tokens when they have expired (if possible), as version 1.x
+      used to do
+    + Avoid a redirect loop on logout when the token is expired
+    + Don't crash if the client_secrets don't contain a userinfo_uri key
+    + Handle older versions of Werkzeug.
+  * Changed
+    + Ship the licenses files in the sdist
+    + Don't request the profile scope by default, as version 1.x used to do.
+  * Deprecated
+    + Configuration option OIDC_USERINFO_URL (and the userinfo_uri key in
+      client_secrets)
+- Switch to pyproject macros.
+- Add patch ignore-quoting-madness.patch:
+  * Ignore quoting madness that is different for each Python version.
+- Drop patch authlib.patch, included upstream.
+- Run the testsuite, tests are included.
+
+-------------------------------------------------------------------

Old:
----
  authlib.patch
  flask-oidc-1.4.0.tar.gz

New:
----
  flask_oidc-2.3.1.tar.gz
  ignore-quoting-madness.patch

BETA DEBUG BEGIN:
  Old:  * Ignore quoting madness that is different for each Python version.
- Drop patch authlib.patch, included upstream.
- Run the testsuite, tests are included.
BETA DEBUG END:

BETA DEBUG BEGIN:
  New:- Switch to pyproject macros.
- Add patch ignore-quoting-madness.patch:
  * Ignore quoting madness that is different for each Python version.
BETA DEBUG END:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-flask-oidc.spec ++++++
--- /var/tmp/diff_new_pack.d5jTc7/_old  2025-05-06 16:42:52.311821741 +0200
+++ /var/tmp/diff_new_pack.d5jTc7/_new  2025-05-06 16:42:52.311821741 +0200
@@ -1,7 +1,7 @@
 #
-# spec file
+# spec file for package python-flask-oidc
 #
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2025 SUSE LLC
 # Copyright (c) 2020 Neal Gompa <ngomp...@gmail.com>.
 #
 # All modifications and additions to the file contributed by third parties
@@ -19,26 +19,28 @@
 
 %global pypi_name flask-oidc
 Name:           python-%{pypi_name}
-Version:        1.4.0
+Version:        2.3.1
 Release:        0
 Summary:        OpenID Connect support for Flask
 License:        BSD-2-Clause
-Group:          Development/Libraries/Python
 URL:            https://github.com/fedora-infra/%{pypi_name}
-Source0:        
https://pypi.io/packages/source/f/%{pypi_name}/%{pypi_name}-%{version}.tar.gz
-# PATCH-FIX-OPENSUSE authlib.patch -- gh#puiterwijk/flask-oidc#138
-Patch0:         authlib.patch
-BuildRequires:  %{python_module Authlib}
+Source0:        
https://pypi.io/packages/source/f/%{pypi_name}/flask_oidc-%{version}.tar.gz
+# PATCH-FIX-OPENSUSE Don't fail a test due to quoting
+Patch0:         ignore-quoting-madness.patch
+BuildRequires:  %{python_module Authlib >= 1.2}
 BuildRequires:  %{python_module Flask}
-BuildRequires:  %{python_module requests}
-BuildRequires:  %{python_module setuptools}
+BuildRequires:  %{python_module base >= 3.8}
+BuildRequires:  %{python_module pip}
+BuildRequires:  %{python_module poetry-core}
+BuildRequires:  %{python_module pytest}
+BuildRequires:  %{python_module requests >= 2.20}
+BuildRequires:  %{python_module responses}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
-Requires:       python-Authlib
+Requires:       python-Authlib >= 1.2
 Requires:       python-Flask
-Requires:       python-requests
-Requires(post): update-alternatives
-Requires(postun):update-alternatives
+Requires:       python-blinker >= 1.4
+Requires:       python-requests >= 2.20
 BuildArch:      noarch
 %python_subpackages
 
@@ -49,26 +51,21 @@
 * Ipsilon
 
 %prep
-%autosetup -p1 -n %{pypi_name}-%{version}
+%autosetup -p1 -n flask_oidc-%{version}
 
 %build
-%python_build
+%pyproject_wheel
 
 %install
-%python_install
+%pyproject_install
 %python_expand %fdupes %{buildroot}%{$python_sitelib}
-%python_clone -a %{buildroot}%{_bindir}/oidc-register
 
-%post
-%python_install_alternative oidc-register
-
-%postun
-%python_uninstall_alternative oidc-register
+%check
+%pytest
 
 %files %{python_files}
 %doc README.rst
-%license LICENSE.txt
+%license LICENSES/BSD-2-Clause.txt
 %{python_sitelib}/flask_oidc/
-%{python_sitelib}/*.egg-info/
-%python_alternative %{_bindir}/oidc-register
+%{python_sitelib}/flask_oidc-%{version}.dist-info
 

++++++ ignore-quoting-madness.patch ++++++
Index: flask_oidc-2.3.1/tests/test_flask_oidc.py
===================================================================
--- flask_oidc-2.3.1.orig/tests/test_flask_oidc.py
+++ flask_oidc-2.3.1/tests/test_flask_oidc.py
@@ -299,10 +299,11 @@ def test_accept_token(client, mocked_res
 def test_accept_token_no_token(client, mocked_responses):
     resp = client.get("/need-token")
     assert resp.status_code == 401
-    assert resp.json == {
-        "error": "missing_authorization",
-        "error_description": 'Missing "Authorization" in headers.',
-    }
+    assert resp.json["error"] == "missing_authorization"
+    assert resp.json["error_description"] in (
+        "Missing 'Authorization' in headers.",
+        'Missing "Authorization" in headers.',
+    )
 
 
 def test_accept_token_invalid(client, mocked_responses):

Reply via email to