Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-Authlib for openSUSE:Factory checked in at 2026-02-18 17:11:11 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-Authlib (Old) and /work/SRC/openSUSE:Factory/.python-Authlib.new.1977 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-Authlib" Wed Feb 18 17:11:11 2026 rev:28 rq:1333702 version:1.6.8 Changes: -------- --- /work/SRC/openSUSE:Factory/python-Authlib/python-Authlib.changes 2026-01-12 11:50:28.066509416 +0100 +++ /work/SRC/openSUSE:Factory/.python-Authlib.new.1977/python-Authlib.changes 2026-02-18 17:12:06.086388596 +0100 @@ -1,0 +2,8 @@ +Tue Feb 17 08:38:21 UTC 2026 - Marius Grossu <[email protected]> + +- Update to 1.6.8: + * Add EdDSA to default jwt instance +- 1.6.7: + * Set supported algorithms for the default jwt instance + +------------------------------------------------------------------- Old: ---- authlib-1.6.6.tar.gz New: ---- authlib-1.6.8.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-Authlib.spec ++++++ --- /var/tmp/diff_new_pack.CMMaSj/_old 2026-02-18 17:12:07.082430116 +0100 +++ /var/tmp/diff_new_pack.CMMaSj/_new 2026-02-18 17:12:07.086430283 +0100 @@ -19,7 +19,7 @@ %define modname authlib %{?sle15_python_module_pythons} Name: python-Authlib -Version: 1.6.6 +Version: 1.6.8 Release: 0 Summary: Python library for building OAuth and OpenID Connect servers License: BSD-3-Clause ++++++ authlib-1.6.6.tar.gz -> authlib-1.6.8.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/authlib-1.6.6/authlib/consts.py new/authlib-1.6.8/authlib/consts.py --- old/authlib-1.6.6/authlib/consts.py 2025-12-12 08:59:43.000000000 +0100 +++ new/authlib-1.6.8/authlib/consts.py 2026-02-14 05:01:10.000000000 +0100 @@ -1,5 +1,5 @@ name = "Authlib" -version = "1.6.6" +version = "1.6.8" author = "Hsiaoming Yang <[email protected]>" homepage = "https://authlib.org" default_user_agent = f"{name}/{version} (+{homepage})" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/authlib-1.6.6/authlib/jose/__init__.py new/authlib-1.6.8/authlib/jose/__init__.py --- old/authlib-1.6.6/authlib/jose/__init__.py 2025-12-12 08:59:43.000000000 +0100 +++ new/authlib-1.6.8/authlib/jose/__init__.py 2026-02-14 05:01:10.000000000 +0100 @@ -46,7 +46,23 @@ OKPKey.kty: OKPKey, } -jwt = JsonWebToken(list(JsonWebSignature.ALGORITHMS_REGISTRY.keys())) +jwt = JsonWebToken( + [ + "HS256", + "HS384", + "HS512", + "RS256", + "RS384", + "RS512", + "ES256", + "ES384", + "ES512", + "PS256", + "PS384", + "PS512", + "EdDSA", + ] +) __all__ = [ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/authlib-1.6.6/authlib/oauth2/rfc9101/authorization_server.py new/authlib-1.6.8/authlib/oauth2/rfc9101/authorization_server.py --- old/authlib-1.6.6/authlib/oauth2/rfc9101/authorization_server.py 2025-12-12 08:59:43.000000000 +0100 +++ new/authlib-1.6.8/authlib/oauth2/rfc9101/authorization_server.py 2026-02-14 05:01:10.000000000 +0100 @@ -1,4 +1,5 @@ -from authlib.jose import jwt +from authlib.jose import JsonWebSignature +from authlib.jose import JsonWebToken from authlib.jose.errors import JoseError from ..rfc6749 import AuthorizationServer @@ -135,8 +136,8 @@ self, request, client: ClientMixin, raw_request_object: str ): jwks = self.resolve_client_public_key(client) - try: + jwt = JsonWebToken(list(JsonWebSignature.ALGORITHMS_REGISTRY.keys())) request_object = jwt.decode(raw_request_object, jwks) request_object.validate() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/authlib-1.6.6/authlib/oidc/core/grants/util.py new/authlib-1.6.8/authlib/oidc/core/grants/util.py --- old/authlib-1.6.6/authlib/oidc/core/grants/util.py 2025-12-12 08:59:43.000000000 +0100 +++ new/authlib-1.6.8/authlib/oidc/core/grants/util.py 2026-02-14 05:01:10.000000000 +0100 @@ -3,7 +3,7 @@ from authlib.common.encoding import to_native from authlib.common.urls import add_params_to_uri from authlib.common.urls import quote_url -from authlib.jose import jwt +from authlib.jose import JsonWebToken from authlib.oauth2.rfc6749 import InvalidRequestError from authlib.oauth2.rfc6749 import scope_to_list @@ -111,7 +111,7 @@ payload["at_hash"] = to_native(at_hash) payload.update(user_info) - return to_native(jwt.encode(header, payload, key)) + return to_native(JsonWebToken([alg]).encode(header, payload, key)) def create_response_mode_response(redirect_uri, params, response_mode): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/authlib-1.6.6/authlib/oidc/core/userinfo.py new/authlib-1.6.8/authlib/oidc/core/userinfo.py --- old/authlib-1.6.6/authlib/oidc/core/userinfo.py 2025-12-12 08:59:43.000000000 +0100 +++ new/authlib-1.6.8/authlib/oidc/core/userinfo.py 2026-02-14 05:01:10.000000000 +0100 @@ -1,7 +1,7 @@ from typing import Optional from authlib.consts import default_json_headers -from authlib.jose import jwt +from authlib.jose import JsonWebToken from authlib.oauth2.rfc6749.authorization_server import AuthorizationServer from authlib.oauth2.rfc6749.authorization_server import OAuth2Request from authlib.oauth2.rfc6749.resource_protector import ResourceProtector @@ -74,7 +74,9 @@ user_info["iss"] = self.get_issuer() user_info["aud"] = client.client_id - data = jwt.encode({"alg": alg}, user_info, self.resolve_private_key()) + data = JsonWebToken([alg]).encode( + {"alg": alg}, user_info, self.resolve_private_key() + ) return 200, data, [("Content-Type", "application/jwt")] return 200, user_info, default_json_headers diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/authlib-1.6.6/tests/flask/test_oauth2/test_jwt_authorization_request.py new/authlib-1.6.8/tests/flask/test_oauth2/test_jwt_authorization_request.py --- old/authlib-1.6.6/tests/flask/test_oauth2/test_jwt_authorization_request.py 2025-12-12 08:59:43.000000000 +0100 +++ new/authlib-1.6.8/tests/flask/test_oauth2/test_jwt_authorization_request.py 2026-02-14 05:01:10.000000000 +0100 @@ -3,6 +3,7 @@ import pytest from authlib.common.urls import add_params_to_uri +from authlib.jose import JsonWebToken from authlib.jose import jwt from authlib.oauth2 import rfc7591 from authlib.oauth2 import rfc9101 @@ -213,7 +214,8 @@ metadata["require_signed_request_object"] = True register_request_object_extension(server, metadata=metadata) payload = {"response_type": "code", "client_id": "client-id"} - request_obj = jwt.encode( + jwt_none = JsonWebToken(["none"]) + request_obj = jwt_none.encode( {"alg": "none"}, payload, read_file_path("jwk_private.json") ) url = add_params_to_uri( @@ -277,7 +279,8 @@ db.session.commit() payload = {"response_type": "code", "client_id": "client-id"} - request_obj = jwt.encode({"alg": "none"}, payload, "") + jwt_none = JsonWebToken(["none"]) + request_obj = jwt_none.encode({"alg": "none"}, payload, "") url = add_params_to_uri( authorize_url, {"client_id": "client-id", "request": request_obj} ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/authlib-1.6.6/tests/flask/test_oauth2/test_openid_code_grant.py new/authlib-1.6.8/tests/flask/test_oauth2/test_openid_code_grant.py --- old/authlib-1.6.6/tests/flask/test_oauth2/test_openid_code_grant.py 2025-12-12 08:59:43.000000000 +0100 +++ new/authlib-1.6.8/tests/flask/test_oauth2/test_openid_code_grant.py 2026-02-14 05:01:10.000000000 +0100 @@ -7,6 +7,7 @@ from authlib.common.urls import url_decode from authlib.common.urls import url_encode from authlib.common.urls import urlparse +from authlib.jose import JsonWebToken from authlib.jose import jwt from authlib.oauth2.rfc6749.grants import ( AuthorizationCodeGrant as _AuthorizationCodeGrant, @@ -340,7 +341,8 @@ headers=headers, ) resp = json.loads(rv.data) - claims = jwt.decode( + jwt_none = JsonWebToken(["none"]) + claims = jwt_none.decode( resp["id_token"], "secret", claims_cls=CodeIDToken, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/authlib-1.6.6/tests/flask/test_oauth2/test_userinfo.py new/authlib-1.6.8/tests/flask/test_oauth2/test_userinfo.py --- old/authlib-1.6.6/tests/flask/test_oauth2/test_userinfo.py 2025-12-12 08:59:43.000000000 +0100 +++ new/authlib-1.6.8/tests/flask/test_oauth2/test_userinfo.py 2026-02-14 05:01:10.000000000 +0100 @@ -4,6 +4,7 @@ import authlib.oidc.core as oidc_core from authlib.integrations.flask_oauth2 import ResourceProtector from authlib.integrations.sqla_oauth2 import create_bearer_token_validator +from authlib.jose import JsonWebToken from authlib.jose import jwt from tests.util import read_file_path @@ -285,7 +286,8 @@ rv = test_client.get("/oauth/userinfo", headers=headers) assert rv.headers["Content-Type"] == "application/jwt" - claims = jwt.decode(rv.data, None) + jwt_none = JsonWebToken(["none"]) + claims = jwt_none.decode(rv.data, None) assert claims == { "sub": "1", "iss": "https://provider.test",
