fix(dashboard): set headers for JWKS requests

This commit is contained in:
James Hodgkinson 2026-06-20 22:12:30 +10:00 committed by Austin Pickett
parent eb08467a7a
commit 83cee29ff7
2 changed files with 24 additions and 0 deletions

View file

@ -571,6 +571,26 @@ class TestVerifySession:
with pytest.raises(ProviderError, match="JWKS"):
provider.verify_session(access_token=token)
def test_jwks_client_sends_explicit_http_headers(self):
provider = oidc_plugin.SelfHostedOIDCProvider(
issuer=_ISSUER, client_id=_CLIENT_ID
)
provider._discovery = dict(_DISCOVERY_DOC)
provider._discovery_fetched_at = time.time()
with patch("jwt.PyJWKClient") as client_cls:
provider._get_jwks_client()
client_cls.assert_called_once_with(
_DISCOVERY_DOC["jwks_uri"],
cache_keys=True,
lifespan=oidc_plugin._JWKS_CACHE_SECONDS,
headers={
"Accept": "application/json",
"User-Agent": "HermesAgent/1.0",
},
)
# ---------------------------------------------------------------------------
# refresh_session + revoke_session