From bad5a5a94b8c96bef50c7e93f4d4bf61c7440b0e Mon Sep 17 00:00:00 2001 From: vvillait88 Date: Wed, 3 Jun 2026 11:50:39 -0700 Subject: [PATCH 1/2] chore: bump to v2.4.1 Co-Authored-By: Claude Opus 4.8 --- CODE_OF_CONDUCT.md | 2 +- README.md | 4 ++-- SECURITY.md | 2 +- agentscore_commerce/checkout.py | 4 ++-- .../discovery/agentscore_content.py | 2 +- agentscore_commerce/identity/_denial.py | 4 ++-- agentscore_commerce/identity/_response.py | 4 ++-- agentscore_commerce/identity/aiohttp.py | 2 +- agentscore_commerce/identity/core.py | 4 ++-- agentscore_commerce/identity/django.py | 2 +- agentscore_commerce/identity/fastapi.py | 2 +- agentscore_commerce/identity/flask.py | 2 +- agentscore_commerce/identity/middleware.py | 2 +- agentscore_commerce/identity/policy.py | 2 +- agentscore_commerce/identity/sanic.py | 2 +- agentscore_commerce/identity/sessions.py | 2 +- agentscore_commerce/identity/types.py | 4 ++-- agentscore_commerce/identity/ucp.py | 8 +++---- pyproject.toml | 4 ++-- scripts/regenerate_cross_lang_fixtures.py | 16 ++++++------- .../node-agentscore-gate-blocked.json | 4 ++-- .../cross-lang/node-agentscore-gate-full.json | 4 ++-- .../fixtures/cross-lang/node-capability.json | 8 +++---- .../fixtures/cross-lang/node-emoji-keys.json | 4 ++-- .../fixtures/cross-lang/node-es256-rails.json | 8 +++---- .../fixtures/cross-lang/node-extras-int.json | 4 ++-- tests/fixtures/cross-lang/node-multikey.json | 4 ++-- tests/fixtures/cross-lang/node-unicode.json | 4 ++-- .../py-agentscore-gate-blocked.json | 4 ++-- .../cross-lang/py-agentscore-gate-full.json | 4 ++-- tests/fixtures/cross-lang/py-capability.json | 8 +++---- tests/fixtures/cross-lang/py-emoji-keys.json | 4 ++-- tests/fixtures/cross-lang/py-es256-rails.json | 8 +++---- tests/fixtures/cross-lang/py-extras-int.json | 4 ++-- tests/fixtures/cross-lang/py-multikey.json | 4 ++-- tests/fixtures/cross-lang/py-unicode.json | 4 ++-- tests/test_aiohttp.py | 18 +++++++------- tests/test_checkout_wallet_ofac_default.py | 2 +- tests/test_core.py | 24 +++++++++---------- tests/test_django.py | 16 ++++++------- tests/test_fastapi.py | 16 ++++++------- tests/test_flask.py | 18 +++++++------- tests/test_middleware.py | 20 ++++++++-------- tests/test_payment_handlers.py | 2 +- tests/test_response.py | 6 ++--- tests/test_sanic.py | 8 +++---- tests/test_sessions.py | 12 +++++----- tests/test_signer_match.py | 4 ++-- tests/test_ucp.py | 8 +++---- 49 files changed, 154 insertions(+), 154 deletions(-) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 5ee3b8a..70dbc2f 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -24,7 +24,7 @@ Examples of unacceptable behavior: ## Enforcement -Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the project team at engineering@agentscore.sh. All complaints will be reviewed and investigated promptly and fairly. +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the project team at engineering@agentscore.com. All complaints will be reviewed and investigated promptly and fairly. ## Attribution diff --git a/README.md b/README.md index ed48557..4180752 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ [![PyPI version](https://img.shields.io/pypi/v/agentscore-commerce.svg)](https://pypi.org/project/agentscore-commerce/) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) -The full merchant-side SDK for [AgentScore](https://agentscore.sh) in Python: agent commerce in one install. Identity middleware (FastAPI, Flask, Django, AIOHTTP, Sanic, ASGI), payment helpers, 402 challenge builders, MPP discovery, and Stripe multichain support. +The full merchant-side SDK for [AgentScore](https://agentscore.com) in Python: agent commerce in one install. Identity middleware (FastAPI, Flask, Django, AIOHTTP, Sanic, ASGI), payment helpers, 402 challenge builders, MPP discovery, and Stripe multichain support. ## Install @@ -527,7 +527,7 @@ The [examples/](./examples) directory has 8 runnable single-file FastAPI apps co ## Documentation -Full integration docs at [docs.agentscore.sh/integrations/python-commerce](https://docs.agentscore.sh/integrations/python-commerce). +Full integration docs at [docs.agentscore.com/integrations/python-commerce](https://docs.agentscore.com/integrations/python-commerce). ## License diff --git a/SECURITY.md b/SECURITY.md index ac841f3..fe82b97 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -6,7 +6,7 @@ If you discover a security vulnerability, please report it responsibly. **Do not open a public GitHub issue for security vulnerabilities.** -Instead, email us at **security@agentscore.sh** with: +Instead, email us at **security@agentscore.com** with: - Description of the vulnerability - Steps to reproduce diff --git a/agentscore_commerce/checkout.py b/agentscore_commerce/checkout.py index fcd0030..351be36 100644 --- a/agentscore_commerce/checkout.py +++ b/agentscore_commerce/checkout.py @@ -372,7 +372,7 @@ class CheckoutGateConfig: api_key: str """AgentScore API key. Required when ``run_gate`` is omitted.""" - base_url: str = "https://api.agentscore.sh" + base_url: str = "https://api.agentscore.com" """AgentScore API base URL. Override for self-hosted / staging deployments.""" merchant_name: str | None = None """Surfaced on auto-minted verification sessions (``product_name`` field) so @@ -1560,7 +1560,7 @@ async def _run_wallet_sanctions_only(self, ctx: CheckoutContext) -> CheckoutResu - ``AGENTSCORE_API_KEY`` — required. No key → one-time warning + skip (dev/testnet pattern; production should always configure a key). - ``AGENTSCORE_BASE_URL`` — optional override for staging/dev API - (e.g. ``https://api-dev.agentscore.sh`` or ``http://localhost:3002``). + (e.g. ``https://api-dev.agentscore.com`` or ``http://localhost:3002``). Stripe SPT (no extractable wallet signer) → skip silently; Stripe runs its own OFAC screen on the buyer's Stripe account at customer creation. diff --git a/agentscore_commerce/discovery/agentscore_content.py b/agentscore_commerce/discovery/agentscore_content.py index 7f6f467..f5720c1 100644 --- a/agentscore_commerce/discovery/agentscore_content.py +++ b/agentscore_commerce/discovery/agentscore_content.py @@ -133,7 +133,7 @@ def build_agentscore_onboarding_steps( "`opc_...` token returns 403 `wallet_signer_mismatch`; the body lists `linked_wallets[]` and " "`agent_instructions.action: resign_or_switch_to_operator_token` with three deterministic " "recoveries (switch to a linked wallet, drop the operator_token to re-KYC the new wallet, " - "or pre-claim the new wallet via SIWE on agentscore.sh/verify)." + "or pre-claim the new wallet via SIWE on agentscore.com/verify)." ) rail_count = len(accepted_rails) rail_plural = "" if rail_count == 1 else "s" diff --git a/agentscore_commerce/identity/_denial.py b/agentscore_commerce/identity/_denial.py index 6ad391b..7160c24 100644 --- a/agentscore_commerce/identity/_denial.py +++ b/agentscore_commerce/identity/_denial.py @@ -85,7 +85,7 @@ def build_signer_mismatch_body( if result.kind == "pass": return None - learn_more = learn_more_url or "https://docs.agentscore.sh/guides/agent-identity" + learn_more = learn_more_url or "https://docs.agentscore.com/guides/agent-identity" if result.kind == "wallet_signer_mismatch": linked = result.linked_wallets or [] @@ -169,7 +169,7 @@ def verification_agent_instructions( """ base_steps = [ "Present the verify_url directly to the user — it is a complete, ready-to-open URL with the session " - "token already embedded (e.g. https://agentscore.sh/verify?session=sess_...). " + "token already embedded (e.g. https://agentscore.com/verify?session=sess_...). " "Do NOT modify or construct the URL yourself.", f"Immediately begin polling poll_url every {poll_interval_seconds} seconds with header X-Poll-Secret " "set to poll_secret. The user will complete verification in their browser while you poll in the background.", diff --git a/agentscore_commerce/identity/_response.py b/agentscore_commerce/identity/_response.py index 33e1d2d..7e10023 100644 --- a/agentscore_commerce/identity/_response.py +++ b/agentscore_commerce/identity/_response.py @@ -67,9 +67,9 @@ "with the user, then poll poll_url every 5s with the X-Poll-Secret header " "until status=verified (the poll returns a one-time operator_token). If the " "retry returns the same bare 403, this merchant does not support self-service " - "session bootstrapping — direct the user to https://agentscore.sh/sign-up to " + "session bootstrapping — direct the user to https://agentscore.com/sign-up to " "create an AgentScore identity and mint an operator_token from their " - "dashboard (https://agentscore.sh/dashboard/verify). The user hands the " + "dashboard (https://agentscore.com/dashboard/verify). The user hands the " "opc_... to you, and you retry with X-Operator-Token." ), ], diff --git a/agentscore_commerce/identity/aiohttp.py b/agentscore_commerce/identity/aiohttp.py index 8a89642..15a48dc 100644 --- a/agentscore_commerce/identity/aiohttp.py +++ b/agentscore_commerce/identity/aiohttp.py @@ -130,7 +130,7 @@ def agentscore_gate_middleware( allowed_jurisdictions: list[str] | None = None, fail_open: bool = False, cache_seconds: int = 300, - base_url: str = "https://api.agentscore.sh", + base_url: str = "https://api.agentscore.com", chain: str | None = None, user_agent: str | None = None, extract_identity: Callable[[web.Request], AgentIdentity | None] | None = None, diff --git a/agentscore_commerce/identity/core.py b/agentscore_commerce/identity/core.py index c83ce00..8f34110 100644 --- a/agentscore_commerce/identity/core.py +++ b/agentscore_commerce/identity/core.py @@ -51,7 +51,7 @@ _log = logging.getLogger(__name__) -DEFAULT_BASE_URL = "https://api.agentscore.sh" +DEFAULT_BASE_URL = "https://api.agentscore.com" DEFAULT_CACHE_SECONDS = 300 @@ -79,7 +79,7 @@ def __init__( user_agent: str | None = None, ) -> None: if not api_key: - msg = "AgentScore API key is required. Get one at https://agentscore.sh/sign-up" + msg = "AgentScore API key is required. Get one at https://agentscore.com/sign-up" raise ValueError(msg) self.fail_open = fail_open diff --git a/agentscore_commerce/identity/django.py b/agentscore_commerce/identity/django.py index 3404cd8..1bd673c 100644 --- a/agentscore_commerce/identity/django.py +++ b/agentscore_commerce/identity/django.py @@ -126,7 +126,7 @@ def __init__(self, get_response: Any) -> None: allowed_jurisdictions=config.get("allowed_jurisdictions"), fail_open=config.get("fail_open", False), cache_seconds=config.get("cache_seconds", 300), - base_url=config.get("base_url", "https://api.agentscore.sh"), + base_url=config.get("base_url", "https://api.agentscore.com"), chain=config.get("chain"), user_agent=config.get("user_agent"), ) diff --git a/agentscore_commerce/identity/fastapi.py b/agentscore_commerce/identity/fastapi.py index 48617c6..8f4507c 100644 --- a/agentscore_commerce/identity/fastapi.py +++ b/agentscore_commerce/identity/fastapi.py @@ -160,7 +160,7 @@ def __init__( allowed_jurisdictions: list[str] | None = None, fail_open: bool = False, cache_seconds: int = 300, - base_url: str = "https://api.agentscore.sh", + base_url: str = "https://api.agentscore.com", chain: str | None = None, user_agent: str | None = None, extract_identity: Callable[[Request], AgentIdentity | None] | None = None, diff --git a/agentscore_commerce/identity/flask.py b/agentscore_commerce/identity/flask.py index cec55f2..dc903c7 100644 --- a/agentscore_commerce/identity/flask.py +++ b/agentscore_commerce/identity/flask.py @@ -134,7 +134,7 @@ def agentscore_gate( allowed_jurisdictions: list[str] | None = None, fail_open: bool = False, cache_seconds: int = 300, - base_url: str = "https://api.agentscore.sh", + base_url: str = "https://api.agentscore.com", chain: str | None = None, user_agent: str | None = None, extract_identity: Callable[[Request], AgentIdentity | None] | None = None, diff --git a/agentscore_commerce/identity/middleware.py b/agentscore_commerce/identity/middleware.py index 2824d1f..6ee04a7 100644 --- a/agentscore_commerce/identity/middleware.py +++ b/agentscore_commerce/identity/middleware.py @@ -143,7 +143,7 @@ def __init__( allowed_jurisdictions: list[str] | None = None, fail_open: bool = False, cache_seconds: int = 300, - base_url: str = "https://api.agentscore.sh", + base_url: str = "https://api.agentscore.com", chain: str | None = None, user_agent: str | None = None, extract_identity: Callable[[Request], AgentIdentity | None] | None = None, diff --git a/agentscore_commerce/identity/policy.py b/agentscore_commerce/identity/policy.py index b32b674..38725f6 100644 --- a/agentscore_commerce/identity/policy.py +++ b/agentscore_commerce/identity/policy.py @@ -82,7 +82,7 @@ def build_gate_from_policy( policy: Mapping[str, Any] | None, *, api_key: str, - base_url: str = "https://api.agentscore.sh", + base_url: str = "https://api.agentscore.com", create_session_on_missing: CreateSessionOnMissing | None = None, ) -> AgentScoreGate | None: """Build a per-request :class:`AgentScoreGate` from a :class:`PolicyBlock`-shaped mapping. diff --git a/agentscore_commerce/identity/sanic.py b/agentscore_commerce/identity/sanic.py index f443fdc..84d9b28 100644 --- a/agentscore_commerce/identity/sanic.py +++ b/agentscore_commerce/identity/sanic.py @@ -131,7 +131,7 @@ def agentscore_gate( allowed_jurisdictions: list[str] | None = None, fail_open: bool = False, cache_seconds: int = 300, - base_url: str = "https://api.agentscore.sh", + base_url: str = "https://api.agentscore.com", chain: str | None = None, user_agent: str | None = None, extract_identity: Callable[[Request], AgentIdentity | None] | None = None, diff --git a/agentscore_commerce/identity/sessions.py b/agentscore_commerce/identity/sessions.py index 0051c4a..f63b5f5 100644 --- a/agentscore_commerce/identity/sessions.py +++ b/agentscore_commerce/identity/sessions.py @@ -43,7 +43,7 @@ class CreateSessionOnMissing: """ api_key: str - base_url: str = "https://api.agentscore.sh" + base_url: str = "https://api.agentscore.com" context: str | None = None product_name: str | None = None # Per-request override of context / product_name. Receives the framework request diff --git a/agentscore_commerce/identity/types.py b/agentscore_commerce/identity/types.py index eb40d1d..f2d69a6 100644 --- a/agentscore_commerce/identity/types.py +++ b/agentscore_commerce/identity/types.py @@ -140,7 +140,7 @@ class SignerVerdict: # Canonical production AgentScore API; agent memory pointers are always hardcoded to this # value regardless of how a given merchant configured their gate. -_CANONICAL_AGENTSCORE_API = "https://api.agentscore.sh" +_CANONICAL_AGENTSCORE_API = "https://api.agentscore.com" def build_agent_memory_hint() -> AgentMemoryHint: @@ -161,7 +161,7 @@ def build_agent_memory_hint() -> AgentMemoryHint: "per site. Save this pattern (and the endpoints below) to persistent memory so future " "AgentScore encounters skip the cold-start session flow." ), - quickstart="https://docs.agentscore.sh/guides/agent-identity", + quickstart="https://docs.agentscore.com/guides/agent-identity", identity_check_endpoint=f"{api}/v1/credentials", identity_paths={ "wallet": ( diff --git a/agentscore_commerce/identity/ucp.py b/agentscore_commerce/identity/ucp.py index 08959c6..120c782 100644 --- a/agentscore_commerce/identity/ucp.py +++ b/agentscore_commerce/identity/ucp.py @@ -40,8 +40,8 @@ to find verified-buyer claims attached to the profile.""" _AGENTSCORE_CAPABILITY_VERSION = "2026-04-08" -_AGENTSCORE_DEFAULT_SPEC_URL = "https://agentscore.sh/specification/identity" -_AGENTSCORE_DEFAULT_SCHEMA_URL = "https://agentscore.sh/schemas/ucp/sh-agentscore-identity-v1.json" +_AGENTSCORE_DEFAULT_SPEC_URL = "https://agentscore.com/specification/identity" +_AGENTSCORE_DEFAULT_SCHEMA_URL = "https://agentscore.com/schemas/ucp/sh-agentscore-identity-v1.json" @dataclass @@ -475,8 +475,8 @@ async def ucp_profile(): # these constants; bumping a handler spec version is a one-line change here. _HANDLER_VERSION = "2026-04-08" -_SPEC_BASE = "https://agentscore.sh/specification/payment-handlers" -_SCHEMA_BASE = "https://agentscore.sh/schemas/payment-handlers" +_SPEC_BASE = "https://agentscore.com/specification/payment-handlers" +_SCHEMA_BASE = "https://agentscore.com/schemas/payment-handlers" # CAIP-2 → UCP-namespace network-name mapping. UCP payment_handler bindings publish diff --git a/pyproject.toml b/pyproject.toml index 8567103..d175022 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "agentscore-commerce" -version = "2.4.0" +version = "2.4.1" description = "Agent commerce SDK for Python — identity middleware (FastAPI, Flask, Django, AIOHTTP, Sanic, ASGI) + payment helpers + 402 builders + discovery + Stripe multichain. The full merchant-side toolkit for AgentScore-powered agent commerce." readme = "README.md" license = "MIT" @@ -47,7 +47,7 @@ ucp = ["joserfc>=1.0.0,<2"] redis = ["redis>=5.0,<8"] [project.urls] -Homepage = "https://agentscore.sh" +Homepage = "https://agentscore.com" Repository = "https://github.com/agentscore/python-commerce" Issues = "https://github.com/agentscore/python-commerce/issues" diff --git a/scripts/regenerate_cross_lang_fixtures.py b/scripts/regenerate_cross_lang_fixtures.py index 5c652fb..f77fc0a 100644 --- a/scripts/regenerate_cross_lang_fixtures.py +++ b/scripts/regenerate_cross_lang_fixtures.py @@ -81,8 +81,8 @@ def _tempo_handler(config: dict[str, Any] | None = None) -> UCPPaymentHandlerBin h = UCPPaymentHandlerBinding( id="tempo", version="2026-04-08", - spec="https://agentscore.sh/specification/payment-handlers/tempo", - schema="https://agentscore.sh/schemas/payment-handlers/tempo.json", + spec="https://agentscore.com/specification/payment-handlers/tempo", + schema="https://agentscore.com/schemas/payment-handlers/tempo.json", ) if config is not None: h.config = config @@ -93,8 +93,8 @@ def _x402_handler(networks: list[str]) -> UCPPaymentHandlerBinding: return UCPPaymentHandlerBinding( id="x402", version="2026-04-08", - spec="https://agentscore.sh/specification/payment-handlers/x402", - schema="https://agentscore.sh/schemas/payment-handlers/x402.json", + spec="https://agentscore.com/specification/payment-handlers/x402", + schema="https://agentscore.com/schemas/payment-handlers/x402.json", config={"networks": networks}, ) @@ -103,8 +103,8 @@ def _stripe_handler(config: dict[str, Any]) -> UCPPaymentHandlerBinding: return UCPPaymentHandlerBinding( id="stripe", version="2026-04-08", - spec="https://agentscore.sh/specification/payment-handlers/stripe_spt", - schema="https://agentscore.sh/schemas/payment-handlers/stripe_spt.json", + spec="https://agentscore.com/specification/payment-handlers/stripe_spt", + schema="https://agentscore.com/schemas/payment-handlers/stripe_spt.json", config=config, ) @@ -160,8 +160,8 @@ def main() -> None: key = generate_ucp_signing_key(kid=kid) custom_capability = UCPCapabilityBinding( version="2026-04-08", - spec="https://agentscore.sh/specification/identity", - schema="https://agentscore.sh/schemas/ucp/sh-agentscore-identity-v1.json", + spec="https://agentscore.com/specification/identity", + schema="https://agentscore.com/schemas/ucp/sh-agentscore-identity-v1.json", # `extras` flat on the binding — kyc_required is a vendor field on this binding. extras={"kyc_required": True}, ) diff --git a/tests/fixtures/cross-lang/node-agentscore-gate-blocked.json b/tests/fixtures/cross-lang/node-agentscore-gate-blocked.json index 6dc1781..a763482 100644 --- a/tests/fixtures/cross-lang/node-agentscore-gate-blocked.json +++ b/tests/fixtures/cross-lang/node-agentscore-gate-blocked.json @@ -17,8 +17,8 @@ "sh.agentscore.identity": [ { "version": "2026-04-08", - "spec": "https://agentscore.sh/specification/identity", - "schema": "https://agentscore.sh/schemas/ucp/sh-agentscore-identity-v1.json", + "spec": "https://agentscore.com/specification/identity", + "schema": "https://agentscore.com/schemas/ucp/sh-agentscore-identity-v1.json", "extends": [ "dev.ucp.shopping.checkout", "dev.ucp.shopping.cart" diff --git a/tests/fixtures/cross-lang/node-agentscore-gate-full.json b/tests/fixtures/cross-lang/node-agentscore-gate-full.json index 60007ad..b90eec1 100644 --- a/tests/fixtures/cross-lang/node-agentscore-gate-full.json +++ b/tests/fixtures/cross-lang/node-agentscore-gate-full.json @@ -17,8 +17,8 @@ "sh.agentscore.identity": [ { "version": "2026-04-08", - "spec": "https://agentscore.sh/specification/identity", - "schema": "https://agentscore.sh/schemas/ucp/sh-agentscore-identity-v1.json", + "spec": "https://agentscore.com/specification/identity", + "schema": "https://agentscore.com/schemas/ucp/sh-agentscore-identity-v1.json", "extends": [ "dev.ucp.shopping.checkout", "dev.ucp.shopping.cart" diff --git a/tests/fixtures/cross-lang/node-capability.json b/tests/fixtures/cross-lang/node-capability.json index 509fc04..b875017 100644 --- a/tests/fixtures/cross-lang/node-capability.json +++ b/tests/fixtures/cross-lang/node-capability.json @@ -17,8 +17,8 @@ "sh.agentscore.identity": [ { "version": "2026-04-08", - "spec": "https://agentscore.sh/specification/identity", - "schema": "https://agentscore.sh/schemas/ucp/sh-agentscore-identity-v1.json", + "spec": "https://agentscore.com/specification/identity", + "schema": "https://agentscore.com/schemas/ucp/sh-agentscore-identity-v1.json", "kyc_required": true } ] @@ -28,8 +28,8 @@ { "id": "tempo", "version": "2026-04-08", - "spec": "https://agentscore.sh/specification/payment-handlers/tempo", - "schema": "https://agentscore.sh/schemas/payment-handlers/tempo.json", + "spec": "https://agentscore.com/specification/payment-handlers/tempo", + "schema": "https://agentscore.com/schemas/payment-handlers/tempo.json", "config": { "rail": "tempo-mainnet", "chain_id": 4217 diff --git a/tests/fixtures/cross-lang/node-emoji-keys.json b/tests/fixtures/cross-lang/node-emoji-keys.json index 013af76..572e9e6 100644 --- a/tests/fixtures/cross-lang/node-emoji-keys.json +++ b/tests/fixtures/cross-lang/node-emoji-keys.json @@ -19,8 +19,8 @@ { "id": "tempo", "version": "2026-04-08", - "spec": "https://agentscore.sh/specification/payment-handlers/tempo", - "schema": "https://agentscore.sh/schemas/payment-handlers/tempo.json" + "spec": "https://agentscore.com/specification/payment-handlers/tempo", + "schema": "https://agentscore.com/schemas/payment-handlers/tempo.json" } ] }, diff --git a/tests/fixtures/cross-lang/node-es256-rails.json b/tests/fixtures/cross-lang/node-es256-rails.json index 427c61f..785bfde 100644 --- a/tests/fixtures/cross-lang/node-es256-rails.json +++ b/tests/fixtures/cross-lang/node-es256-rails.json @@ -25,8 +25,8 @@ { "id": "tempo", "version": "2026-04-08", - "spec": "https://agentscore.sh/specification/payment-handlers/tempo", - "schema": "https://agentscore.sh/schemas/payment-handlers/tempo.json", + "spec": "https://agentscore.com/specification/payment-handlers/tempo", + "schema": "https://agentscore.com/schemas/payment-handlers/tempo.json", "config": { "rail": "tempo-mainnet", "chain_id": 4217 @@ -37,8 +37,8 @@ { "id": "x402", "version": "2026-04-08", - "spec": "https://agentscore.sh/specification/payment-handlers/x402", - "schema": "https://agentscore.sh/schemas/payment-handlers/x402.json", + "spec": "https://agentscore.com/specification/payment-handlers/x402", + "schema": "https://agentscore.com/schemas/payment-handlers/x402.json", "config": { "networks": [ "base-8453" diff --git a/tests/fixtures/cross-lang/node-extras-int.json b/tests/fixtures/cross-lang/node-extras-int.json index 029f846..9142496 100644 --- a/tests/fixtures/cross-lang/node-extras-int.json +++ b/tests/fixtures/cross-lang/node-extras-int.json @@ -19,8 +19,8 @@ { "id": "stripe", "version": "2026-04-08", - "spec": "https://agentscore.sh/specification/payment-handlers/stripe_spt", - "schema": "https://agentscore.sh/schemas/payment-handlers/stripe_spt.json", + "spec": "https://agentscore.com/specification/payment-handlers/stripe_spt", + "schema": "https://agentscore.com/schemas/payment-handlers/stripe_spt.json", "config": { "profile_id": "abc", "count": 7 diff --git a/tests/fixtures/cross-lang/node-multikey.json b/tests/fixtures/cross-lang/node-multikey.json index 4d4b097..8ed23cf 100644 --- a/tests/fixtures/cross-lang/node-multikey.json +++ b/tests/fixtures/cross-lang/node-multikey.json @@ -19,8 +19,8 @@ { "id": "tempo", "version": "2026-04-08", - "spec": "https://agentscore.sh/specification/payment-handlers/tempo", - "schema": "https://agentscore.sh/schemas/payment-handlers/tempo.json", + "spec": "https://agentscore.com/specification/payment-handlers/tempo", + "schema": "https://agentscore.com/schemas/payment-handlers/tempo.json", "config": { "rail": "tempo-mainnet" } diff --git a/tests/fixtures/cross-lang/node-unicode.json b/tests/fixtures/cross-lang/node-unicode.json index e8a5b79..8cc7577 100644 --- a/tests/fixtures/cross-lang/node-unicode.json +++ b/tests/fixtures/cross-lang/node-unicode.json @@ -19,8 +19,8 @@ { "id": "tempo", "version": "2026-04-08", - "spec": "https://agentscore.sh/specification/payment-handlers/tempo", - "schema": "https://agentscore.sh/schemas/payment-handlers/tempo.json", + "spec": "https://agentscore.com/specification/payment-handlers/tempo", + "schema": "https://agentscore.com/schemas/payment-handlers/tempo.json", "config": { "note": "メモ" } diff --git a/tests/fixtures/cross-lang/py-agentscore-gate-blocked.json b/tests/fixtures/cross-lang/py-agentscore-gate-blocked.json index ef2cd8e..cfbc4bd 100644 --- a/tests/fixtures/cross-lang/py-agentscore-gate-blocked.json +++ b/tests/fixtures/cross-lang/py-agentscore-gate-blocked.json @@ -17,8 +17,8 @@ "sh.agentscore.identity": [ { "version": "2026-04-08", - "spec": "https://agentscore.sh/specification/identity", - "schema": "https://agentscore.sh/schemas/ucp/sh-agentscore-identity-v1.json", + "spec": "https://agentscore.com/specification/identity", + "schema": "https://agentscore.com/schemas/ucp/sh-agentscore-identity-v1.json", "config": { "require_kyc": true, "blocked_jurisdictions": [ diff --git a/tests/fixtures/cross-lang/py-agentscore-gate-full.json b/tests/fixtures/cross-lang/py-agentscore-gate-full.json index da533c5..5958e04 100644 --- a/tests/fixtures/cross-lang/py-agentscore-gate-full.json +++ b/tests/fixtures/cross-lang/py-agentscore-gate-full.json @@ -17,8 +17,8 @@ "sh.agentscore.identity": [ { "version": "2026-04-08", - "spec": "https://agentscore.sh/specification/identity", - "schema": "https://agentscore.sh/schemas/ucp/sh-agentscore-identity-v1.json", + "spec": "https://agentscore.com/specification/identity", + "schema": "https://agentscore.com/schemas/ucp/sh-agentscore-identity-v1.json", "config": { "require_kyc": true, "require_sanctions_clear": true, diff --git a/tests/fixtures/cross-lang/py-capability.json b/tests/fixtures/cross-lang/py-capability.json index d50074c..2d4ee32 100644 --- a/tests/fixtures/cross-lang/py-capability.json +++ b/tests/fixtures/cross-lang/py-capability.json @@ -17,8 +17,8 @@ "sh.agentscore.identity": [ { "version": "2026-04-08", - "spec": "https://agentscore.sh/specification/identity", - "schema": "https://agentscore.sh/schemas/ucp/sh-agentscore-identity-v1.json", + "spec": "https://agentscore.com/specification/identity", + "schema": "https://agentscore.com/schemas/ucp/sh-agentscore-identity-v1.json", "kyc_required": true } ] @@ -28,8 +28,8 @@ { "id": "tempo", "version": "2026-04-08", - "spec": "https://agentscore.sh/specification/payment-handlers/tempo", - "schema": "https://agentscore.sh/schemas/payment-handlers/tempo.json", + "spec": "https://agentscore.com/specification/payment-handlers/tempo", + "schema": "https://agentscore.com/schemas/payment-handlers/tempo.json", "config": { "rail": "tempo-mainnet", "chain_id": 4217 diff --git a/tests/fixtures/cross-lang/py-emoji-keys.json b/tests/fixtures/cross-lang/py-emoji-keys.json index d613ebb..777fe70 100644 --- a/tests/fixtures/cross-lang/py-emoji-keys.json +++ b/tests/fixtures/cross-lang/py-emoji-keys.json @@ -19,8 +19,8 @@ { "id": "tempo", "version": "2026-04-08", - "spec": "https://agentscore.sh/specification/payment-handlers/tempo", - "schema": "https://agentscore.sh/schemas/payment-handlers/tempo.json" + "spec": "https://agentscore.com/specification/payment-handlers/tempo", + "schema": "https://agentscore.com/schemas/payment-handlers/tempo.json" } ] }, diff --git a/tests/fixtures/cross-lang/py-es256-rails.json b/tests/fixtures/cross-lang/py-es256-rails.json index 6f2e4c6..c60848a 100644 --- a/tests/fixtures/cross-lang/py-es256-rails.json +++ b/tests/fixtures/cross-lang/py-es256-rails.json @@ -25,8 +25,8 @@ { "id": "tempo", "version": "2026-04-08", - "spec": "https://agentscore.sh/specification/payment-handlers/tempo", - "schema": "https://agentscore.sh/schemas/payment-handlers/tempo.json", + "spec": "https://agentscore.com/specification/payment-handlers/tempo", + "schema": "https://agentscore.com/schemas/payment-handlers/tempo.json", "config": { "rail": "tempo-mainnet", "chain_id": 4217 @@ -37,8 +37,8 @@ { "id": "x402", "version": "2026-04-08", - "spec": "https://agentscore.sh/specification/payment-handlers/x402", - "schema": "https://agentscore.sh/schemas/payment-handlers/x402.json", + "spec": "https://agentscore.com/specification/payment-handlers/x402", + "schema": "https://agentscore.com/schemas/payment-handlers/x402.json", "config": { "networks": [ "base-8453" diff --git a/tests/fixtures/cross-lang/py-extras-int.json b/tests/fixtures/cross-lang/py-extras-int.json index a9cd659..349d0df 100644 --- a/tests/fixtures/cross-lang/py-extras-int.json +++ b/tests/fixtures/cross-lang/py-extras-int.json @@ -19,8 +19,8 @@ { "id": "stripe", "version": "2026-04-08", - "spec": "https://agentscore.sh/specification/payment-handlers/stripe_spt", - "schema": "https://agentscore.sh/schemas/payment-handlers/stripe_spt.json", + "spec": "https://agentscore.com/specification/payment-handlers/stripe_spt", + "schema": "https://agentscore.com/schemas/payment-handlers/stripe_spt.json", "config": { "profile_id": "abc", "count": 7 diff --git a/tests/fixtures/cross-lang/py-multikey.json b/tests/fixtures/cross-lang/py-multikey.json index e9d8d7b..5653738 100644 --- a/tests/fixtures/cross-lang/py-multikey.json +++ b/tests/fixtures/cross-lang/py-multikey.json @@ -19,8 +19,8 @@ { "id": "tempo", "version": "2026-04-08", - "spec": "https://agentscore.sh/specification/payment-handlers/tempo", - "schema": "https://agentscore.sh/schemas/payment-handlers/tempo.json", + "spec": "https://agentscore.com/specification/payment-handlers/tempo", + "schema": "https://agentscore.com/schemas/payment-handlers/tempo.json", "config": { "rail": "tempo-mainnet" } diff --git a/tests/fixtures/cross-lang/py-unicode.json b/tests/fixtures/cross-lang/py-unicode.json index 6b9fdce..d642f27 100644 --- a/tests/fixtures/cross-lang/py-unicode.json +++ b/tests/fixtures/cross-lang/py-unicode.json @@ -19,8 +19,8 @@ { "id": "tempo", "version": "2026-04-08", - "spec": "https://agentscore.sh/specification/payment-handlers/tempo", - "schema": "https://agentscore.sh/schemas/payment-handlers/tempo.json", + "spec": "https://agentscore.com/specification/payment-handlers/tempo", + "schema": "https://agentscore.com/schemas/payment-handlers/tempo.json", "config": { "note": "メモ" } diff --git a/tests/test_aiohttp.py b/tests/test_aiohttp.py index 4a726a5..84a49a5 100644 --- a/tests/test_aiohttp.py +++ b/tests/test_aiohttp.py @@ -19,9 +19,9 @@ ) from agentscore_commerce.identity.sessions import CreateSessionOnMissing -ASSESS_URL = "https://api.agentscore.sh/v1/assess" -SESSIONS_URL = "https://api.agentscore.sh/v1/sessions" -CAPTURE_URL = "https://api.agentscore.sh/v1/credentials/wallets" +ASSESS_URL = "https://api.agentscore.com/v1/assess" +SESSIONS_URL = "https://api.agentscore.com/v1/sessions" +CAPTURE_URL = "https://api.agentscore.com/v1/credentials/wallets" async def _ok_handler(request: web.Request) -> web.Response: @@ -311,7 +311,7 @@ async def test_creates_session_and_returns_403_with_session_data(self): 200, json={ "session_id": "sess_abc123", - "verify_url": "https://agentscore.sh/verify/sess_abc123", + "verify_url": "https://agentscore.com/verify/sess_abc123", "poll_secret": "ps_secret", "next_steps": { "action": "deliver_verify_url_and_poll", @@ -329,7 +329,7 @@ async def test_creates_session_and_returns_403_with_session_data(self): data = await resp.json() assert data["error"]["code"] == "identity_verification_required" assert data["session_id"] == "sess_abc123" - assert data["verify_url"] == "https://agentscore.sh/verify/sess_abc123" + assert data["verify_url"] == "https://agentscore.com/verify/sess_abc123" assert data["poll_secret"] == "ps_secret" import json as _json @@ -358,7 +358,7 @@ async def test_fixable_wallet_denial_bootstraps_session(self): 200, json={ "session_id": "sess_kyc", - "verify_url": "https://agentscore.sh/verify/sess_kyc", + "verify_url": "https://agentscore.com/verify/sess_kyc", "poll_secret": "ps_kyc", "next_steps": {"action": "deliver_verify_url_and_poll"}, }, @@ -464,7 +464,7 @@ async def test_custom_user_agent_prepended(self): @pytest.mark.asyncio @respx.mock async def test_aiohttp_passes_through_token_expired(): - respx.post("https://api.agentscore.sh/v1/assess").mock( + respx.post("https://api.agentscore.com/v1/assess").mock( return_value=httpx.Response( 401, json={ @@ -493,7 +493,7 @@ async def handler(_req): @pytest.mark.asyncio @respx.mock async def test_aiohttp_api_error_on_unexpected_exception(): - respx.post("https://api.agentscore.sh/v1/assess").mock( + respx.post("https://api.agentscore.com/v1/assess").mock( side_effect=httpx.ConnectError("dns down"), ) app = web.Application( @@ -517,7 +517,7 @@ async def test_aiohttp_handler_exception_is_not_swallowed_by_gate(): """Regression: gate's try-block must NOT wrap downstream handler. If the user's handler raises, the exception must propagate up — NOT be misclassified as an AgentScore infra failure (which under fail_open would re-invoke the handler).""" - respx.post("https://api.agentscore.sh/v1/assess").mock( + respx.post("https://api.agentscore.com/v1/assess").mock( return_value=httpx.Response(200, json={"decision": "allow", "decision_reasons": []}), ) invocations = {"count": 0} diff --git a/tests/test_checkout_wallet_ofac_default.py b/tests/test_checkout_wallet_ofac_default.py index b2cd527..2f96c0d 100644 --- a/tests/test_checkout_wallet_ofac_default.py +++ b/tests/test_checkout_wallet_ofac_default.py @@ -29,7 +29,7 @@ ) from agentscore_commerce.payment.rail_spec import X402BaseRailSpec -ASSESS_URL = "https://api.agentscore.sh/v1/assess" +ASSESS_URL = "https://api.agentscore.com/v1/assess" RECIPIENT = "0x1111111111111111111111111111111111111111" SDN_WALLET = "0xdead000000000000000000000000000000000bad" CLEAN_WALLET = "0xaaa0000000000000000000000000000000000099" diff --git a/tests/test_core.py b/tests/test_core.py index 466f099..134606c 100644 --- a/tests/test_core.py +++ b/tests/test_core.py @@ -49,7 +49,7 @@ def test_includes_api_key_header(self): class TestCaptureWallet: @respx.mock def test_posts_to_wallets_endpoint_with_snake_case_body(self): - route = respx.post("https://api.agentscore.sh/v1/credentials/wallets").mock( + route = respx.post("https://api.agentscore.com/v1/credentials/wallets").mock( return_value=httpx.Response(200, json={"associated": True, "first_seen": True}), ) client = _make_client() @@ -65,7 +65,7 @@ def test_posts_to_wallets_endpoint_with_snake_case_body(self): @respx.mock def test_omits_idempotency_key_when_empty_or_none(self): - route = respx.post("https://api.agentscore.sh/v1/credentials/wallets").mock( + route = respx.post("https://api.agentscore.com/v1/credentials/wallets").mock( return_value=httpx.Response(200, json={"associated": True, "first_seen": True}), ) client = _make_client() @@ -77,7 +77,7 @@ def test_omits_idempotency_key_when_empty_or_none(self): @respx.mock def test_swallows_server_errors_silently(self): - respx.post("https://api.agentscore.sh/v1/credentials/wallets").mock( + respx.post("https://api.agentscore.com/v1/credentials/wallets").mock( return_value=httpx.Response(500, json={"error": {"code": "internal_error"}}), ) client = _make_client() @@ -86,7 +86,7 @@ def test_swallows_server_errors_silently(self): @respx.mock def test_swallows_network_errors_silently(self): - respx.post("https://api.agentscore.sh/v1/credentials/wallets").mock( + respx.post("https://api.agentscore.com/v1/credentials/wallets").mock( side_effect=httpx.ConnectError("boom"), ) client = _make_client() @@ -97,7 +97,7 @@ class TestCaptureWalletAsync: @pytest.mark.asyncio @respx.mock async def test_async_variant_posts_to_wallets_endpoint(self): - route = respx.post("https://api.agentscore.sh/v1/credentials/wallets").mock( + route = respx.post("https://api.agentscore.com/v1/credentials/wallets").mock( return_value=httpx.Response(200, json={"associated": True, "first_seen": True}), ) client = _make_client() @@ -114,7 +114,7 @@ async def test_async_variant_posts_to_wallets_endpoint(self): @pytest.mark.asyncio @respx.mock async def test_async_swallows_errors_silently(self): - respx.post("https://api.agentscore.sh/v1/credentials/wallets").mock( + respx.post("https://api.agentscore.com/v1/credentials/wallets").mock( side_effect=httpx.ConnectError("boom"), ) client = _make_client() @@ -254,7 +254,7 @@ def test_5xx_raises_runtime_error(self): client._parse_response(resp) -ASSESS_URL = "https://api.agentscore.sh/v1/assess" +ASSESS_URL = "https://api.agentscore.com/v1/assess" class TestCheckWithChain: @@ -495,11 +495,11 @@ def test_parses_verify_url_from_response(self): resp.json.return_value = { "decision": "deny", "decision_reasons": ["kyc_required"], - "verify_url": "https://agentscore.sh/verify/abc123", + "verify_url": "https://agentscore.com/verify/abc123", } result = client._parse_response(resp) - assert result.verify_url == "https://agentscore.sh/verify/abc123" + assert result.verify_url == "https://agentscore.com/verify/abc123" def test_verify_url_is_none_when_absent(self): client = _make_client() @@ -542,7 +542,7 @@ def test_full_compliance_deny_flow(self): "operator_type": None, "verified_at": None, }, - "verify_url": "https://agentscore.sh/verify/xyz789", + "verify_url": "https://agentscore.com/verify/xyz789", "resolved_operator": "0xoperator456", "chains": [ { @@ -566,7 +566,7 @@ def test_full_compliance_deny_flow(self): assert result.decision == "deny" assert "kyc_required" in result.reasons assert "sanctions_flagged" in result.reasons - assert result.verify_url == "https://agentscore.sh/verify/xyz789" + assert result.verify_url == "https://agentscore.com/verify/xyz789" assert result.operator_verification is not None assert result.operator_verification.level == "none" assert result.resolved_operator == "0xoperator456" @@ -724,7 +724,7 @@ def test_build_body_address_only_backwards_compat(self): assert "operator_token" not in body -ASSESS_URL = "https://api.agentscore.sh/v1/assess" +ASSESS_URL = "https://api.agentscore.com/v1/assess" class TestInvalidCredential: diff --git a/tests/test_django.py b/tests/test_django.py index 94b1fd7..5aa7705 100644 --- a/tests/test_django.py +++ b/tests/test_django.py @@ -256,7 +256,7 @@ def test_deny_includes_reasons_from_compliance(self) -> None: decision="deny", reasons=["kyc_required", "sanctions_flagged"], raw={ - "verify_url": "https://agentscore.sh/verify/abc123", + "verify_url": "https://agentscore.com/verify/abc123", "operator_verification": {"level": "none"}, }, ) @@ -291,7 +291,7 @@ def test_verify_url_available_in_raw_on_deny(self) -> None: mw = self._make_middleware() raw = { "decision": "deny", - "verify_url": "https://agentscore.sh/verify/abc123", + "verify_url": "https://agentscore.com/verify/abc123", } result = AssessResult(allow=False, decision="deny", reasons=["kyc_required"], raw=raw) request = self.factory.get("/", HTTP_X_WALLET_ADDRESS="0xabc") @@ -321,7 +321,7 @@ def test_creates_session_and_returns_403_with_session_data(self) -> None: session_reason = DenialReason( code="identity_verification_required", - verify_url="https://agentscore.sh/verify/sess_abc", + verify_url="https://agentscore.com/verify/sess_abc", session_id="sess_abc", poll_secret="ps_secret", agent_instructions="please verify", @@ -339,7 +339,7 @@ def test_creates_session_and_returns_403_with_session_data(self) -> None: data = json.loads(resp.content) assert data["error"]["code"] == "identity_verification_required" assert data["session_id"] == "sess_abc" - assert data["verify_url"] == "https://agentscore.sh/verify/sess_abc" + assert data["verify_url"] == "https://agentscore.com/verify/sess_abc" assert data["poll_secret"] == "ps_secret" assert data["agent_instructions"] == "please verify" @@ -369,7 +369,7 @@ def test_fixable_wallet_denial_bootstraps_session(self) -> None: result = AssessResult(allow=False, decision="deny", reasons=["kyc_required"], raw={}) session_reason = DenialReason( code="identity_verification_required", - verify_url="https://agentscore.sh/verify/sess_kyc", + verify_url="https://agentscore.com/verify/sess_kyc", session_id="sess_kyc", poll_secret="ps_kyc", ) @@ -539,7 +539,7 @@ def test_default_user_agent_format(self) -> None: mw = self._make_middleware() with respx.mock: - route = respx.post("https://api.agentscore.sh/v1/assess").mock( + route = respx.post("https://api.agentscore.com/v1/assess").mock( return_value=httpx.Response(200, json={"decision": "allow", "decision_reasons": []}), ) request = self.factory.get("/", HTTP_X_WALLET_ADDRESS="0xabc") @@ -555,7 +555,7 @@ def test_custom_user_agent_prepended(self) -> None: mw = self._make_middleware(user_agent="myapp/2.0") with respx.mock: - route = respx.post("https://api.agentscore.sh/v1/assess").mock( + route = respx.post("https://api.agentscore.com/v1/assess").mock( return_value=httpx.Response(200, json={"decision": "allow", "decision_reasons": []}), ) request = self.factory.get("/", HTTP_X_WALLET_ADDRESS="0xabc") @@ -586,7 +586,7 @@ def test_constructor_chain_stored_and_forwarded(self) -> None: mw = self._make_middleware(chain="solana") with respx.mock: - route = respx.post("https://api.agentscore.sh/v1/assess").mock( + route = respx.post("https://api.agentscore.com/v1/assess").mock( return_value=httpx.Response(200, json={"decision": "allow", "decision_reasons": []}), ) request = self.factory.get("/", HTTP_X_WALLET_ADDRESS="0xabc") diff --git a/tests/test_fastapi.py b/tests/test_fastapi.py index 1e95a0e..974c87e 100644 --- a/tests/test_fastapi.py +++ b/tests/test_fastapi.py @@ -17,9 +17,9 @@ ) from agentscore_commerce.identity.sessions import CreateSessionOnMissing -ASSESS_URL = "https://api.agentscore.sh/v1/assess" -SESSIONS_URL = "https://api.agentscore.sh/v1/sessions" -CAPTURE_URL = "https://api.agentscore.sh/v1/credentials/wallets" +ASSESS_URL = "https://api.agentscore.com/v1/assess" +SESSIONS_URL = "https://api.agentscore.com/v1/sessions" +CAPTURE_URL = "https://api.agentscore.com/v1/credentials/wallets" def _mock_assess(decision: str = "allow", reasons: list[str] | None = None) -> respx.Route: @@ -312,7 +312,7 @@ def test_creates_session_and_returns_403_with_session_data(self): 200, json={ "session_id": "sess_abc123", - "verify_url": "https://agentscore.sh/verify/sess_abc123", + "verify_url": "https://agentscore.com/verify/sess_abc123", "poll_secret": "ps_secret", "next_steps": { "action": "deliver_verify_url_and_poll", @@ -331,7 +331,7 @@ def test_creates_session_and_returns_403_with_session_data(self): detail = resp.json()["detail"] assert detail["error"]["code"] == "identity_verification_required" assert detail["session_id"] == "sess_abc123" - assert detail["verify_url"] == "https://agentscore.sh/verify/sess_abc123" + assert detail["verify_url"] == "https://agentscore.com/verify/sess_abc123" assert detail["poll_secret"] == "ps_secret" # agent_instructions is the JSON-stringified next_steps from the API. import json as _json @@ -364,7 +364,7 @@ def test_fixable_wallet_denial_bootstraps_session(self): 200, json={ "session_id": "sess_kyc", - "verify_url": "https://agentscore.sh/verify/sess_kyc", + "verify_url": "https://agentscore.com/verify/sess_kyc", "poll_secret": "ps_kyc", "next_steps": {"action": "deliver_verify_url_and_poll"}, }, @@ -559,7 +559,7 @@ def test_custom_user_agent_prepended(self): @respx.mock def test_fastapi_passes_through_token_expired(): - respx.post("https://api.agentscore.sh/v1/assess").mock( + respx.post("https://api.agentscore.com/v1/assess").mock( return_value=httpx.Response( 401, json={ @@ -586,7 +586,7 @@ def index(): @respx.mock def test_fastapi_api_error_on_unexpected_exception(): - respx.post("https://api.agentscore.sh/v1/assess").mock( + respx.post("https://api.agentscore.com/v1/assess").mock( side_effect=httpx.ConnectError("dns down"), ) gate = AgentScoreGate(api_key="ak", fail_open=False) diff --git a/tests/test_flask.py b/tests/test_flask.py index e19fdc1..4f5eca6 100644 --- a/tests/test_flask.py +++ b/tests/test_flask.py @@ -296,7 +296,7 @@ def test_deny_includes_compliance_reasons(self) -> None: decision="deny", reasons=["kyc_required", "sanctions_flagged"], raw={ - "verify_url": "https://agentscore.sh/verify/abc123", + "verify_url": "https://agentscore.com/verify/abc123", "operator_verification": {"level": "none"}, }, ) @@ -332,7 +332,7 @@ def test_verify_url_available_in_raw_on_deny(self) -> None: app = _make_app() raw = { "decision": "deny", - "verify_url": "https://agentscore.sh/verify/abc123", + "verify_url": "https://agentscore.com/verify/abc123", } result = AssessResult(allow=False, decision="deny", reasons=["kyc_required"], raw=raw) with patch("agentscore_commerce.identity.flask.AgentScoreCore.check", return_value=result): @@ -353,7 +353,7 @@ def test_creates_session_and_returns_403_with_session_data(self) -> None: app = _make_app(create_session_on_missing=CreateSessionOnMissing(api_key="ask_session")) session_reason = DenialReason( code="identity_verification_required", - verify_url="https://agentscore.sh/verify/sess_abc", + verify_url="https://agentscore.com/verify/sess_abc", session_id="sess_abc", poll_secret="ps_secret", agent_instructions="please verify", @@ -368,7 +368,7 @@ def test_creates_session_and_returns_403_with_session_data(self) -> None: data = resp.get_json() assert data["error"]["code"] == "identity_verification_required" assert data["session_id"] == "sess_abc" - assert data["verify_url"] == "https://agentscore.sh/verify/sess_abc" + assert data["verify_url"] == "https://agentscore.com/verify/sess_abc" assert data["poll_secret"] == "ps_secret" assert data["agent_instructions"] == "please verify" @@ -394,7 +394,7 @@ def test_fixable_wallet_denial_bootstraps_session(self) -> None: result = AssessResult(allow=False, decision="deny", reasons=["kyc_required"], raw={}) session_reason = DenialReason( code="identity_verification_required", - verify_url="https://agentscore.sh/verify/sess_kyc", + verify_url="https://agentscore.com/verify/sess_kyc", session_id="sess_kyc", poll_secret="ps_kyc", ) @@ -571,7 +571,7 @@ def test_default_user_agent_format(self) -> None: app = _make_app() with respx.mock: - route = respx.post("https://api.agentscore.sh/v1/assess").mock( + route = respx.post("https://api.agentscore.com/v1/assess").mock( return_value=httpx.Response(200, json={"decision": "allow", "decision_reasons": []}), ) client = app.test_client() @@ -587,7 +587,7 @@ def test_custom_user_agent_prepended(self) -> None: app = _make_app(user_agent="myapp/2.0") with respx.mock: - route = respx.post("https://api.agentscore.sh/v1/assess").mock( + route = respx.post("https://api.agentscore.com/v1/assess").mock( return_value=httpx.Response(200, json={"decision": "allow", "decision_reasons": []}), ) client = app.test_client() @@ -608,7 +608,7 @@ def test_constructor_chain_stored_and_forwarded(self) -> None: app = _make_app(chain="solana") with respx.mock: - route = respx.post("https://api.agentscore.sh/v1/assess").mock( + route = respx.post("https://api.agentscore.com/v1/assess").mock( return_value=httpx.Response(200, json={"decision": "allow", "decision_reasons": []}), ) client = app.test_client() @@ -633,7 +633,7 @@ def test_passes_through_token_expired_with_auto_session(self) -> None: "error": {"code": "token_expired", "message": "invalid"}, "session_id": "sess_flask", "poll_secret": "poll_flask", - "verify_url": "https://agentscore.sh/verify?session=sess_flask", + "verify_url": "https://agentscore.com/verify?session=sess_flask", "next_steps": {"action": "deliver_verify_url_and_poll"}, } ), diff --git a/tests/test_middleware.py b/tests/test_middleware.py index 532c162..41af3e0 100644 --- a/tests/test_middleware.py +++ b/tests/test_middleware.py @@ -17,12 +17,12 @@ if TYPE_CHECKING: from starlette.requests import Request -ASSESS_URL = "https://api.agentscore.sh/v1/assess" -SESSIONS_URL = "https://api.agentscore.sh/v1/sessions" +ASSESS_URL = "https://api.agentscore.com/v1/assess" +SESSIONS_URL = "https://api.agentscore.com/v1/sessions" SESSION_RESPONSE = { "session_id": "sess_abc123", - "verify_url": "https://agentscore.sh/verify/sess_abc123", + "verify_url": "https://agentscore.com/verify/sess_abc123", "poll_secret": "ps_secret_456", # API emits structured next_steps; gate stringifies into agent_instructions. "next_steps": { @@ -72,7 +72,7 @@ def test_creates_session_and_returns_403_with_session_data(self): assert resp.status_code == 403 data = resp.json() assert data["error"]["code"] == "identity_verification_required" - assert data["verify_url"] == "https://agentscore.sh/verify/sess_abc123" + assert data["verify_url"] == "https://agentscore.com/verify/sess_abc123" assert data["session_id"] == "sess_abc123" assert data["poll_secret"] == "ps_secret_456" # agent_instructions is the JSON-stringified next_steps from the API. @@ -246,7 +246,7 @@ def test_unfixable_wallet_denial_returns_bare_wallet_not_trusted(self): assert sessions_route.call_count == 0 -CAPTURE_URL = "https://api.agentscore.sh/v1/credentials/wallets" +CAPTURE_URL = "https://api.agentscore.com/v1/credentials/wallets" def _capture_app() -> Starlette: @@ -484,8 +484,8 @@ def test_middleware_passes_through_token_expired_with_auto_session(): "error": {"code": "token_expired", "message": "invalid"}, "session_id": "sess_auto", "poll_secret": "poll_auto", - "verify_url": "https://agentscore.sh/verify?session=sess_auto", - "poll_url": "https://api.agentscore.sh/v1/sessions/sess_auto", + "verify_url": "https://agentscore.com/verify?session=sess_auto", + "poll_url": "https://api.agentscore.com/v1/sessions/sess_auto", "next_steps": {"action": "deliver_verify_url_and_poll"}, }, ) @@ -500,7 +500,7 @@ def test_middleware_passes_through_token_expired_with_auto_session(): assert body["error"]["code"] == "token_expired" assert body["session_id"] == "sess_auto" assert body["poll_secret"] == "poll_auto" - assert body["verify_url"] == "https://agentscore.sh/verify?session=sess_auto" + assert body["verify_url"] == "https://agentscore.com/verify?session=sess_auto" assert json.loads(body["agent_instructions"]) == {"action": "deliver_verify_url_and_poll"} @@ -564,7 +564,7 @@ def test_middleware_emits_wallet_not_trusted_on_policy_deny(): json={ "decision": "deny", "decision_reasons": ["kyc_required"], - "verify_url": "https://agentscore.sh/verify", + "verify_url": "https://agentscore.com/verify", }, ) ) @@ -577,7 +577,7 @@ def test_middleware_emits_wallet_not_trusted_on_policy_deny(): assert body["error"]["code"] == "wallet_not_trusted" assert body["decision"] == "deny" assert body["reasons"] == ["kyc_required"] - assert body["verify_url"] == "https://agentscore.sh/verify" + assert body["verify_url"] == "https://agentscore.com/verify" @respx.mock diff --git a/tests/test_payment_handlers.py b/tests/test_payment_handlers.py index 303af24..980029e 100644 --- a/tests/test_payment_handlers.py +++ b/tests/test_payment_handlers.py @@ -146,6 +146,6 @@ def test_handler_metadata_versioning() -> None: # All same version + spec/schema base. assert mpp_binding.version == x402_binding.version == stripe_binding.version assert all( - b.spec.startswith("https://agentscore.sh/specification/payment-handlers/") + b.spec.startswith("https://agentscore.com/specification/payment-handlers/") for b in [mpp_binding, x402_binding, stripe_binding] ) diff --git a/tests/test_response.py b/tests/test_response.py index 447aa5e..2f5d289 100644 --- a/tests/test_response.py +++ b/tests/test_response.py @@ -21,7 +21,7 @@ def test_injects_canonical_wallet_not_trusted_instructions() -> None: DenialReason( code="wallet_not_trusted", reasons=["sanctions_flagged"], - verify_url="https://agentscore.sh/dashboard/verify?address=0xabc&chain=base", + verify_url="https://agentscore.com/dashboard/verify?address=0xabc&chain=base", ) ) instructions = json.loads(body["agent_instructions"]) @@ -40,7 +40,7 @@ def test_injects_fallback_identity_verification_required_instructions() -> None: body = denial_reason_to_body( DenialReason( code="identity_verification_required", - verify_url="https://agentscore.sh/verify?session=sess_abc", + verify_url="https://agentscore.com/verify?session=sess_abc", ) ) instructions = json.loads(body["agent_instructions"]) @@ -51,7 +51,7 @@ def test_injects_fallback_token_expired_instructions() -> None: body = denial_reason_to_body( DenialReason( code="token_expired", - verify_url="https://agentscore.sh/verify?session=sess_abc", + verify_url="https://agentscore.com/verify?session=sess_abc", ) ) instructions = json.loads(body["agent_instructions"]) diff --git a/tests/test_sanic.py b/tests/test_sanic.py index 6300cfa..5bde290 100644 --- a/tests/test_sanic.py +++ b/tests/test_sanic.py @@ -281,7 +281,7 @@ class TestCreateSessionOnMissing: def test_creates_session_denial_reason_when_configured(self): session_reason = DenialReason( code="identity_verification_required", - verify_url="https://agentscore.sh/verify/sess_abc", + verify_url="https://agentscore.com/verify/sess_abc", session_id="sess_abc", poll_secret="ps_secret", agent_instructions="please verify", @@ -298,7 +298,7 @@ def test_creates_session_denial_reason_when_configured(self): assert resp.status == 403 assert resp.json["error"]["code"] == "identity_verification_required" assert resp.json["session_id"] == "sess_abc" - assert resp.json["verify_url"] == "https://agentscore.sh/verify/sess_abc" + assert resp.json["verify_url"] == "https://agentscore.com/verify/sess_abc" assert resp.json["poll_secret"] == "ps_secret" def test_falls_back_to_missing_identity_on_session_helper_failure(self): @@ -318,7 +318,7 @@ def test_fixable_wallet_denial_bootstraps_session(self): kyc_result = AssessResult(allow=False, decision="deny", reasons=["kyc_required"], raw={}) session_reason = DenialReason( code="identity_verification_required", - verify_url="https://agentscore.sh/verify/sess_kyc", + verify_url="https://agentscore.com/verify/sess_kyc", session_id="sess_kyc", poll_secret="ps_kyc", ) @@ -438,7 +438,7 @@ async def index(_request): "error": {"code": "token_expired", "message": "invalid"}, "session_id": "sess_abc", "poll_secret": "poll_xyz", - "verify_url": "https://agentscore.sh/verify?session=sess_abc", + "verify_url": "https://agentscore.com/verify?session=sess_abc", "next_steps": {"action": "deliver_verify_url_and_poll"}, } ) diff --git a/tests/test_sessions.py b/tests/test_sessions.py index d114c79..201dd99 100644 --- a/tests/test_sessions.py +++ b/tests/test_sessions.py @@ -12,12 +12,12 @@ try_create_session_denial_reason_sync, ) -SESSIONS_URL = "https://api.agentscore.sh/v1/sessions" +SESSIONS_URL = "https://api.agentscore.com/v1/sessions" # API emits structured next_steps on /v1/sessions success. The gate stringifies it into # agent_instructions for consistent rendering with every other denial body. SESSION_RESPONSE = { "session_id": "sess_abc", - "verify_url": "https://agentscore.sh/verify/sess_abc", + "verify_url": "https://agentscore.com/verify/sess_abc", "poll_secret": "ps_secret", "next_steps": { "action": "deliver_verify_url_and_poll", @@ -39,7 +39,7 @@ def test_returns_denial_reason_on_success(self): assert reason is not None assert reason.code == "identity_verification_required" assert reason.session_id == "sess_abc" - assert reason.verify_url == "https://agentscore.sh/verify/sess_abc" + assert reason.verify_url == "https://agentscore.com/verify/sess_abc" assert reason.poll_secret == "ps_secret" # agent_instructions is the JSON-stringified next_steps from the API. assert reason.agent_instructions is not None @@ -110,10 +110,10 @@ def test_forwards_api_key_and_user_agent(self): @respx.mock def test_respects_custom_base_url(self): - custom_url = "https://staging.agentscore.sh/v1/sessions" + custom_url = "https://staging.agentscore.com/v1/sessions" route = respx.post(custom_url).mock(return_value=httpx.Response(200, json=SESSION_RESPONSE)) try_create_session_denial_reason_sync( - CreateSessionOnMissing(api_key="ask_test", base_url="https://staging.agentscore.sh"), + CreateSessionOnMissing(api_key="ask_test", base_url="https://staging.agentscore.com"), user_agent="agentscore-commerce/1.0", ) assert route.called @@ -311,7 +311,7 @@ def hook(_ctx, session): cfg = CreateSessionOnMissing(api_key="ask_test", on_before_session=hook) try_create_session_denial_reason_sync(cfg, user_agent="ua", ctx={"x": 1}) assert captured["session_id"] == "sess_abc" - assert captured["verify_url"] == "https://agentscore.sh/verify/sess_abc" + assert captured["verify_url"] == "https://agentscore.com/verify/sess_abc" @respx.mock def test_hook_error_swallowed_session_still_returned(self): diff --git a/tests/test_signer_match.py b/tests/test_signer_match.py index 231eb1f..a6d0b9c 100644 --- a/tests/test_signer_match.py +++ b/tests/test_signer_match.py @@ -35,7 +35,7 @@ def test_agent_memory_hint_has_core_fields() -> None: hint = build_agent_memory_hint() assert hint.save_for_future_agentscore_gates is True assert "AgentScore" in hint.pattern_summary - assert hint.identity_check_endpoint == "https://api.agentscore.sh/v1/credentials" + assert hint.identity_check_endpoint == "https://api.agentscore.com/v1/credentials" assert hint.list_wallets_endpoint is None assert "X-Wallet-Address" in hint.identity_paths["wallet"] assert "X-Operator-Token" in hint.identity_paths["operator_token"] @@ -296,7 +296,7 @@ def _homepage(_request: object) -> JSONResponse: gated = AgentScoreGate(app, api_key=API_KEY) with respx.mock: - respx.post("https://api.agentscore.sh/v1/assess").mock( + respx.post("https://api.agentscore.com/v1/assess").mock( return_value=httpx.Response( 401, json={ diff --git a/tests/test_ucp.py b/tests/test_ucp.py index ab0462e..fefc547 100644 --- a/tests/test_ucp.py +++ b/tests/test_ucp.py @@ -144,8 +144,8 @@ def test_passes_through_name_payment_handlers_extras(): tempo_handler = UCPPaymentHandlerBinding( id="tempo", version="2026-04-08", - spec="https://agentscore.sh/specification/payment-handlers/tempo", - schema="https://agentscore.sh/schemas/payment-handlers/tempo.json", + spec="https://agentscore.com/specification/payment-handlers/tempo", + schema="https://agentscore.com/schemas/payment-handlers/tempo.json", config={"recipient": "0xtempo"}, ) profile = build_ucp_profile( @@ -166,8 +166,8 @@ def test_payment_handler_omits_config_when_caller_does_not_set_it(): handler = UCPPaymentHandlerBinding( id="tempo", version="2026-04-08", - spec="https://agentscore.sh/specification/payment-handlers/tempo", - schema="https://agentscore.sh/schemas/payment-handlers/tempo.json", + spec="https://agentscore.com/specification/payment-handlers/tempo", + schema="https://agentscore.com/schemas/payment-handlers/tempo.json", ) profile = build_ucp_profile( **_base_kwargs(), From b3dd574e4f107b4ff86633cb2ad7f055b23d9a6b Mon Sep 17 00:00:00 2001 From: vvillait88 Date: Wed, 3 Jun 2026 12:13:40 -0700 Subject: [PATCH 2/2] test: regenerate cross-lang fixtures on .com + pin wallet-OFAC base URL Re-signed the cross-language corpus with .com profile data; pin AGENTSCORE_BASE_URL in the wallet-OFAC tests so they're independent of the installed SDK's default base URL. Co-Authored-By: Claude Opus 4.8 --- .../cross-lang/node-agentscore-gate-blocked.json | 6 +++--- .../fixtures/cross-lang/node-agentscore-gate-full.json | 6 +++--- tests/fixtures/cross-lang/node-capability.json | 6 +++--- tests/fixtures/cross-lang/node-emoji-keys.json | 6 +++--- tests/fixtures/cross-lang/node-es256-rails.json | 10 +++++----- tests/fixtures/cross-lang/node-extras-int.json | 6 +++--- tests/fixtures/cross-lang/node-int-boundary.json | 6 +++--- tests/fixtures/cross-lang/node-minimal.json | 6 +++--- tests/fixtures/cross-lang/node-multikey.json | 10 +++++----- tests/fixtures/cross-lang/node-unicode.json | 6 +++--- .../cross-lang/py-agentscore-gate-blocked.json | 6 +++--- tests/fixtures/cross-lang/py-agentscore-gate-full.json | 6 +++--- tests/fixtures/cross-lang/py-capability.json | 6 +++--- tests/fixtures/cross-lang/py-emoji-keys.json | 6 +++--- tests/fixtures/cross-lang/py-es256-rails.json | 10 +++++----- tests/fixtures/cross-lang/py-extras-int.json | 6 +++--- tests/fixtures/cross-lang/py-int-boundary.json | 6 +++--- tests/fixtures/cross-lang/py-minimal.json | 6 +++--- tests/fixtures/cross-lang/py-multikey.json | 10 +++++----- tests/fixtures/cross-lang/py-unicode.json | 6 +++--- tests/test_checkout_wallet_ofac_default.py | 7 +++++++ uv.lock | 2 +- 22 files changed, 76 insertions(+), 69 deletions(-) diff --git a/tests/fixtures/cross-lang/node-agentscore-gate-blocked.json b/tests/fixtures/cross-lang/node-agentscore-gate-blocked.json index a763482..bd5c07f 100644 --- a/tests/fixtures/cross-lang/node-agentscore-gate-blocked.json +++ b/tests/fixtures/cross-lang/node-agentscore-gate-blocked.json @@ -44,10 +44,10 @@ "use": "sig", "crv": "Ed25519", "kty": "OKP", - "x": "ffpNqM2SBHyKorvO-lDKzycyMdh4AgMiOZsFjxj-hPU" + "x": "fKt6WDOqMtq19Y54WoVAO_vQDdST3NzL_GJmnezESgI" } ], - "signature": "eyJhbGciOiJFZERTQSIsImtpZCI6Im5vZGUtYWdlbnRzY29yZS1nYXRlLWJsb2NrZWQtRWREU0EiLCJ0eXAiOiJhZ2VudHNjb3JlLXByb2ZpbGUrandzIn0.eyJzaWduaW5nX2tleXMiOlt7ImFsZyI6IkVkRFNBIiwiY3J2IjoiRWQyNTUxOSIsImtpZCI6Im5vZGUtYWdlbnRzY29yZS1nYXRlLWJsb2NrZWQtRWREU0EiLCJrdHkiOiJPS1AiLCJ1c2UiOiJzaWciLCJ4IjoiZmZwTnFNMlNCSHlLb3J2Ty1sREt6eWN5TWRoNEFnTWlPWnNGanhqLWhQVSJ9XSwidWNwIjp7ImNhcGFiaWxpdGllcyI6eyJzaC5hZ2VudHNjb3JlLmlkZW50aXR5IjpbeyJjb25maWciOnsiYmxvY2tlZF9qdXJpc2RpY3Rpb25zIjpbIktQIiwiSVIiLCJDVSJdLCJyZXF1aXJlX2t5YyI6dHJ1ZX0sImV4dGVuZHMiOlsiZGV2LnVjcC5zaG9wcGluZy5jaGVja291dCIsImRldi51Y3Auc2hvcHBpbmcuY2FydCJdLCJzY2hlbWEiOiJodHRwczovL2FnZW50c2NvcmUuc2gvc2NoZW1hcy91Y3Avc2gtYWdlbnRzY29yZS1pZGVudGl0eS12MS5qc29uIiwic3BlYyI6Imh0dHBzOi8vYWdlbnRzY29yZS5zaC9zcGVjaWZpY2F0aW9uL2lkZW50aXR5IiwidmVyc2lvbiI6IjIwMjYtMDQtMDgifV19LCJuYW1lIjoiQWdlbnRTY29yZSBHYXRlIEJsb2NrZWQtSnVyaXNkaWN0aW9ucyBNZXJjaGFudCIsInBheW1lbnRfaGFuZGxlcnMiOnt9LCJzZXJ2aWNlcyI6eyJkZXYudWNwLnNob3BwaW5nIjpbeyJlbmRwb2ludCI6Imh0dHBzOi8vdC5leGFtcGxlLmNvbS9hcGkvdWNwL21jcCIsInNjaGVtYSI6Imh0dHBzOi8vdWNwLmRldi9zZXJ2aWNlcy9zaG9wcGluZy9tY3Aub3BlbnJwYy5qc29uIiwic3BlYyI6Imh0dHBzOi8vdWNwLmRldi8yMDI2LTA0LTA4L3NwZWNpZmljYXRpb24vb3ZlcnZpZXciLCJ0cmFuc3BvcnQiOiJtY3AiLCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9XX0sInZlcnNpb24iOiIyMDI2LTA0LTA4In19.wLBzWguXqHRyyD3md8nfKxdr2ge5eo7UfsYZ8yqArNay_lFx-q41T06FJCu0akan6hrjYoPymMVoDrHLD-GRAg" + "signature": "eyJhbGciOiJFZERTQSIsImtpZCI6Im5vZGUtYWdlbnRzY29yZS1nYXRlLWJsb2NrZWQtRWREU0EiLCJ0eXAiOiJhZ2VudHNjb3JlLXByb2ZpbGUrandzIn0.eyJzaWduaW5nX2tleXMiOlt7ImFsZyI6IkVkRFNBIiwiY3J2IjoiRWQyNTUxOSIsImtpZCI6Im5vZGUtYWdlbnRzY29yZS1nYXRlLWJsb2NrZWQtRWREU0EiLCJrdHkiOiJPS1AiLCJ1c2UiOiJzaWciLCJ4IjoiZkt0NldET3FNdHExOVk1NFdvVkFPX3ZRRGRTVDNOekxfR0ptbmV6RVNnSSJ9XSwidWNwIjp7ImNhcGFiaWxpdGllcyI6eyJzaC5hZ2VudHNjb3JlLmlkZW50aXR5IjpbeyJjb25maWciOnsiYmxvY2tlZF9qdXJpc2RpY3Rpb25zIjpbIktQIiwiSVIiLCJDVSJdLCJyZXF1aXJlX2t5YyI6dHJ1ZX0sImV4dGVuZHMiOlsiZGV2LnVjcC5zaG9wcGluZy5jaGVja291dCIsImRldi51Y3Auc2hvcHBpbmcuY2FydCJdLCJzY2hlbWEiOiJodHRwczovL2FnZW50c2NvcmUuY29tL3NjaGVtYXMvdWNwL3NoLWFnZW50c2NvcmUtaWRlbnRpdHktdjEuanNvbiIsInNwZWMiOiJodHRwczovL2FnZW50c2NvcmUuY29tL3NwZWNpZmljYXRpb24vaWRlbnRpdHkiLCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9XX0sIm5hbWUiOiJBZ2VudFNjb3JlIEdhdGUgQmxvY2tlZC1KdXJpc2RpY3Rpb25zIE1lcmNoYW50IiwicGF5bWVudF9oYW5kbGVycyI6e30sInNlcnZpY2VzIjp7ImRldi51Y3Auc2hvcHBpbmciOlt7ImVuZHBvaW50IjoiaHR0cHM6Ly90LmV4YW1wbGUuY29tL2FwaS91Y3AvbWNwIiwic2NoZW1hIjoiaHR0cHM6Ly91Y3AuZGV2L3NlcnZpY2VzL3Nob3BwaW5nL21jcC5vcGVucnBjLmpzb24iLCJzcGVjIjoiaHR0cHM6Ly91Y3AuZGV2LzIwMjYtMDQtMDgvc3BlY2lmaWNhdGlvbi9vdmVydmlldyIsInRyYW5zcG9ydCI6Im1jcCIsInZlcnNpb24iOiIyMDI2LTA0LTA4In1dfSwidmVyc2lvbiI6IjIwMjYtMDQtMDgifX0.63QksVl3PkaQ6aXNygKCL2ozIgTl_k_Onh0aiJasU7ErRNENJ5MZSMz2_mGoxtEcgV-5kI1ri1sjLGIF3wDiBA" }, "jwks": { "keys": [ @@ -57,7 +57,7 @@ "use": "sig", "crv": "Ed25519", "kty": "OKP", - "x": "ffpNqM2SBHyKorvO-lDKzycyMdh4AgMiOZsFjxj-hPU" + "x": "fKt6WDOqMtq19Y54WoVAO_vQDdST3NzL_GJmnezESgI" } ] }, diff --git a/tests/fixtures/cross-lang/node-agentscore-gate-full.json b/tests/fixtures/cross-lang/node-agentscore-gate-full.json index b90eec1..7702295 100644 --- a/tests/fixtures/cross-lang/node-agentscore-gate-full.json +++ b/tests/fixtures/cross-lang/node-agentscore-gate-full.json @@ -44,10 +44,10 @@ "use": "sig", "crv": "Ed25519", "kty": "OKP", - "x": "vdNcZ9OUb60NP-oo7JVSbcknT0UQPNWadgrDUyH0Ouk" + "x": "WQ1tZQ_iPrW65_Zk6At44XyTZA8sRwKuLTmTp0B46Xw" } ], - "signature": "eyJhbGciOiJFZERTQSIsImtpZCI6Im5vZGUtYWdlbnRzY29yZS1nYXRlLWZ1bGwtRWREU0EiLCJ0eXAiOiJhZ2VudHNjb3JlLXByb2ZpbGUrandzIn0.eyJzaWduaW5nX2tleXMiOlt7ImFsZyI6IkVkRFNBIiwiY3J2IjoiRWQyNTUxOSIsImtpZCI6Im5vZGUtYWdlbnRzY29yZS1nYXRlLWZ1bGwtRWREU0EiLCJrdHkiOiJPS1AiLCJ1c2UiOiJzaWciLCJ4IjoidmROY1o5T1ViNjBOUC1vbzdKVlNiY2tuVDBVUVBOV2FkZ3JEVXlIME91ayJ9XSwidWNwIjp7ImNhcGFiaWxpdGllcyI6eyJzaC5hZ2VudHNjb3JlLmlkZW50aXR5IjpbeyJjb25maWciOnsiYWxsb3dlZF9qdXJpc2RpY3Rpb25zIjpbIlVTIl0sIm1pbl9hZ2UiOjIxLCJyZXF1aXJlX2t5YyI6dHJ1ZSwicmVxdWlyZV9zYW5jdGlvbnNfY2xlYXIiOnRydWV9LCJleHRlbmRzIjpbImRldi51Y3Auc2hvcHBpbmcuY2hlY2tvdXQiLCJkZXYudWNwLnNob3BwaW5nLmNhcnQiXSwic2NoZW1hIjoiaHR0cHM6Ly9hZ2VudHNjb3JlLnNoL3NjaGVtYXMvdWNwL3NoLWFnZW50c2NvcmUtaWRlbnRpdHktdjEuanNvbiIsInNwZWMiOiJodHRwczovL2FnZW50c2NvcmUuc2gvc3BlY2lmaWNhdGlvbi9pZGVudGl0eSIsInZlcnNpb24iOiIyMDI2LTA0LTA4In1dfSwibmFtZSI6IkFnZW50U2NvcmUgR2F0ZSBGdWxsLVBvbGljeSBNZXJjaGFudCIsInBheW1lbnRfaGFuZGxlcnMiOnt9LCJzZXJ2aWNlcyI6eyJkZXYudWNwLnNob3BwaW5nIjpbeyJlbmRwb2ludCI6Imh0dHBzOi8vZC5leGFtcGxlLmNvbS9hcGkvdWNwL21jcCIsInNjaGVtYSI6Imh0dHBzOi8vdWNwLmRldi9zZXJ2aWNlcy9zaG9wcGluZy9tY3Aub3BlbnJwYy5qc29uIiwic3BlYyI6Imh0dHBzOi8vdWNwLmRldi8yMDI2LTA0LTA4L3NwZWNpZmljYXRpb24vb3ZlcnZpZXciLCJ0cmFuc3BvcnQiOiJtY3AiLCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9XX0sInZlcnNpb24iOiIyMDI2LTA0LTA4In19.Eqb8g9LSGrBg3GytCXBHdP_kJJiWom1KgsJ9qqkHZA0ZK4qeIuYzTBhSJMvTbbFqEBsipIoNsH8Fy1QMFg0AAA" + "signature": "eyJhbGciOiJFZERTQSIsImtpZCI6Im5vZGUtYWdlbnRzY29yZS1nYXRlLWZ1bGwtRWREU0EiLCJ0eXAiOiJhZ2VudHNjb3JlLXByb2ZpbGUrandzIn0.eyJzaWduaW5nX2tleXMiOlt7ImFsZyI6IkVkRFNBIiwiY3J2IjoiRWQyNTUxOSIsImtpZCI6Im5vZGUtYWdlbnRzY29yZS1nYXRlLWZ1bGwtRWREU0EiLCJrdHkiOiJPS1AiLCJ1c2UiOiJzaWciLCJ4IjoiV1ExdFpRX2lQclc2NV9aazZBdDQ0WHlUWkE4c1J3S3VMVG1UcDBCNDZYdyJ9XSwidWNwIjp7ImNhcGFiaWxpdGllcyI6eyJzaC5hZ2VudHNjb3JlLmlkZW50aXR5IjpbeyJjb25maWciOnsiYWxsb3dlZF9qdXJpc2RpY3Rpb25zIjpbIlVTIl0sIm1pbl9hZ2UiOjIxLCJyZXF1aXJlX2t5YyI6dHJ1ZSwicmVxdWlyZV9zYW5jdGlvbnNfY2xlYXIiOnRydWV9LCJleHRlbmRzIjpbImRldi51Y3Auc2hvcHBpbmcuY2hlY2tvdXQiLCJkZXYudWNwLnNob3BwaW5nLmNhcnQiXSwic2NoZW1hIjoiaHR0cHM6Ly9hZ2VudHNjb3JlLmNvbS9zY2hlbWFzL3VjcC9zaC1hZ2VudHNjb3JlLWlkZW50aXR5LXYxLmpzb24iLCJzcGVjIjoiaHR0cHM6Ly9hZ2VudHNjb3JlLmNvbS9zcGVjaWZpY2F0aW9uL2lkZW50aXR5IiwidmVyc2lvbiI6IjIwMjYtMDQtMDgifV19LCJuYW1lIjoiQWdlbnRTY29yZSBHYXRlIEZ1bGwtUG9saWN5IE1lcmNoYW50IiwicGF5bWVudF9oYW5kbGVycyI6e30sInNlcnZpY2VzIjp7ImRldi51Y3Auc2hvcHBpbmciOlt7ImVuZHBvaW50IjoiaHR0cHM6Ly9kLmV4YW1wbGUuY29tL2FwaS91Y3AvbWNwIiwic2NoZW1hIjoiaHR0cHM6Ly91Y3AuZGV2L3NlcnZpY2VzL3Nob3BwaW5nL21jcC5vcGVucnBjLmpzb24iLCJzcGVjIjoiaHR0cHM6Ly91Y3AuZGV2LzIwMjYtMDQtMDgvc3BlY2lmaWNhdGlvbi9vdmVydmlldyIsInRyYW5zcG9ydCI6Im1jcCIsInZlcnNpb24iOiIyMDI2LTA0LTA4In1dfSwidmVyc2lvbiI6IjIwMjYtMDQtMDgifX0.HRVf4QeP1PxIIUdpYEO00BejhB6Ma6z1cdG3N5p5e1agerzRSazRi1y7N-C5L4aE9x4XU1-z4uo6l69rgeZDAA" }, "jwks": { "keys": [ @@ -57,7 +57,7 @@ "use": "sig", "crv": "Ed25519", "kty": "OKP", - "x": "vdNcZ9OUb60NP-oo7JVSbcknT0UQPNWadgrDUyH0Ouk" + "x": "WQ1tZQ_iPrW65_Zk6At44XyTZA8sRwKuLTmTp0B46Xw" } ] }, diff --git a/tests/fixtures/cross-lang/node-capability.json b/tests/fixtures/cross-lang/node-capability.json index b875017..8bc7723 100644 --- a/tests/fixtures/cross-lang/node-capability.json +++ b/tests/fixtures/cross-lang/node-capability.json @@ -46,10 +46,10 @@ "use": "sig", "crv": "Ed25519", "kty": "OKP", - "x": "cIRqpxDKrS5C6Vl5HOk8HLOpj-5VQzMxt4fJB_wDToQ" + "x": "w5TCPYimYeIPBLJXPwH-RQJ11mOS_U9LgCWOr33MCoU" } ], - "signature": "eyJhbGciOiJFZERTQSIsImtpZCI6Im5vZGUtY2FwYWJpbGl0eS1FZERTQSIsInR5cCI6ImFnZW50c2NvcmUtcHJvZmlsZStqd3MifQ.eyJzaWduaW5nX2tleXMiOlt7ImFsZyI6IkVkRFNBIiwiY3J2IjoiRWQyNTUxOSIsImtpZCI6Im5vZGUtY2FwYWJpbGl0eS1FZERTQSIsImt0eSI6Ik9LUCIsInVzZSI6InNpZyIsIngiOiJjSVJxcHhES3JTNUM2Vmw1SE9rOEhMT3BqLTVWUXpNeHQ0ZkpCX3dEVG9RIn1dLCJ1Y3AiOnsiY2FwYWJpbGl0aWVzIjp7InNoLmFnZW50c2NvcmUuaWRlbnRpdHkiOlt7Imt5Y19yZXF1aXJlZCI6dHJ1ZSwic2NoZW1hIjoiaHR0cHM6Ly9hZ2VudHNjb3JlLnNoL3NjaGVtYXMvdWNwL3NoLWFnZW50c2NvcmUtaWRlbnRpdHktdjEuanNvbiIsInNwZWMiOiJodHRwczovL2FnZW50c2NvcmUuc2gvc3BlY2lmaWNhdGlvbi9pZGVudGl0eSIsInZlcnNpb24iOiIyMDI2LTA0LTA4In1dfSwibmFtZSI6IkNhcGFiaWxpdHkgTWVyY2hhbnQiLCJwYXltZW50X2hhbmRsZXJzIjp7InNoLmFnZW50c2NvcmUucGF5bWVudC50ZW1wbyI6W3siY29uZmlnIjp7ImNoYWluX2lkIjo0MjE3LCJyYWlsIjoidGVtcG8tbWFpbm5ldCJ9LCJpZCI6InRlbXBvIiwic2NoZW1hIjoiaHR0cHM6Ly9hZ2VudHNjb3JlLnNoL3NjaGVtYXMvcGF5bWVudC1oYW5kbGVycy90ZW1wby5qc29uIiwic3BlYyI6Imh0dHBzOi8vYWdlbnRzY29yZS5zaC9zcGVjaWZpY2F0aW9uL3BheW1lbnQtaGFuZGxlcnMvdGVtcG8iLCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9XX0sInNlcnZpY2VzIjp7ImRldi51Y3Auc2hvcHBpbmciOlt7ImVuZHBvaW50IjoiaHR0cHM6Ly9jLmV4YW1wbGUuY29tL2FwaS91Y3AvbWNwIiwic2NoZW1hIjoiaHR0cHM6Ly91Y3AuZGV2L3NlcnZpY2VzL3Nob3BwaW5nL21jcC5vcGVucnBjLmpzb24iLCJzcGVjIjoiaHR0cHM6Ly91Y3AuZGV2LzIwMjYtMDQtMDgvc3BlY2lmaWNhdGlvbi9vdmVydmlldyIsInRyYW5zcG9ydCI6Im1jcCIsInZlcnNpb24iOiIyMDI2LTA0LTA4In1dfSwidmVyc2lvbiI6IjIwMjYtMDQtMDgifX0.s25npLIHeGubKStp1kT99XSKYyFrV-9w4hh4vHIVKBG3VYCFn8ECfNxa-q0WwjnZTIMR73f-B29lMuuImr0MBA" + "signature": "eyJhbGciOiJFZERTQSIsImtpZCI6Im5vZGUtY2FwYWJpbGl0eS1FZERTQSIsInR5cCI6ImFnZW50c2NvcmUtcHJvZmlsZStqd3MifQ.eyJzaWduaW5nX2tleXMiOlt7ImFsZyI6IkVkRFNBIiwiY3J2IjoiRWQyNTUxOSIsImtpZCI6Im5vZGUtY2FwYWJpbGl0eS1FZERTQSIsImt0eSI6Ik9LUCIsInVzZSI6InNpZyIsIngiOiJ3NVRDUFlpbVllSVBCTEpYUHdILVJRSjExbU9TX1U5TGdDV09yMzNNQ29VIn1dLCJ1Y3AiOnsiY2FwYWJpbGl0aWVzIjp7InNoLmFnZW50c2NvcmUuaWRlbnRpdHkiOlt7Imt5Y19yZXF1aXJlZCI6dHJ1ZSwic2NoZW1hIjoiaHR0cHM6Ly9hZ2VudHNjb3JlLmNvbS9zY2hlbWFzL3VjcC9zaC1hZ2VudHNjb3JlLWlkZW50aXR5LXYxLmpzb24iLCJzcGVjIjoiaHR0cHM6Ly9hZ2VudHNjb3JlLmNvbS9zcGVjaWZpY2F0aW9uL2lkZW50aXR5IiwidmVyc2lvbiI6IjIwMjYtMDQtMDgifV19LCJuYW1lIjoiQ2FwYWJpbGl0eSBNZXJjaGFudCIsInBheW1lbnRfaGFuZGxlcnMiOnsic2guYWdlbnRzY29yZS5wYXltZW50LnRlbXBvIjpbeyJjb25maWciOnsiY2hhaW5faWQiOjQyMTcsInJhaWwiOiJ0ZW1wby1tYWlubmV0In0sImlkIjoidGVtcG8iLCJzY2hlbWEiOiJodHRwczovL2FnZW50c2NvcmUuY29tL3NjaGVtYXMvcGF5bWVudC1oYW5kbGVycy90ZW1wby5qc29uIiwic3BlYyI6Imh0dHBzOi8vYWdlbnRzY29yZS5jb20vc3BlY2lmaWNhdGlvbi9wYXltZW50LWhhbmRsZXJzL3RlbXBvIiwidmVyc2lvbiI6IjIwMjYtMDQtMDgifV19LCJzZXJ2aWNlcyI6eyJkZXYudWNwLnNob3BwaW5nIjpbeyJlbmRwb2ludCI6Imh0dHBzOi8vYy5leGFtcGxlLmNvbS9hcGkvdWNwL21jcCIsInNjaGVtYSI6Imh0dHBzOi8vdWNwLmRldi9zZXJ2aWNlcy9zaG9wcGluZy9tY3Aub3BlbnJwYy5qc29uIiwic3BlYyI6Imh0dHBzOi8vdWNwLmRldi8yMDI2LTA0LTA4L3NwZWNpZmljYXRpb24vb3ZlcnZpZXciLCJ0cmFuc3BvcnQiOiJtY3AiLCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9XX0sInZlcnNpb24iOiIyMDI2LTA0LTA4In19.2SOYjtICwL_XsqOk9e8Oto5-opDmFwbrk6dp1jknxove1XZp2rQijj_BU7KiMXuJyhs3jcBN8GsAHaxZgrj6AQ" }, "jwks": { "keys": [ @@ -59,7 +59,7 @@ "use": "sig", "crv": "Ed25519", "kty": "OKP", - "x": "cIRqpxDKrS5C6Vl5HOk8HLOpj-5VQzMxt4fJB_wDToQ" + "x": "w5TCPYimYeIPBLJXPwH-RQJ11mOS_U9LgCWOr33MCoU" } ] }, diff --git a/tests/fixtures/cross-lang/node-emoji-keys.json b/tests/fixtures/cross-lang/node-emoji-keys.json index 572e9e6..05be88f 100644 --- a/tests/fixtures/cross-lang/node-emoji-keys.json +++ b/tests/fixtures/cross-lang/node-emoji-keys.json @@ -33,14 +33,14 @@ "use": "sig", "crv": "Ed25519", "kty": "OKP", - "x": "1lyxweR0JJrFaMwYCCur27hwUEZMozZHccwuAaAZ2po" + "x": "LNnXIBleDAtWT998gm_-8Qbc4r3BazdFv3vssJTcHEc" } ], "a": 1, "豈": 2, "": 3, "🍷": 4, - "signature": "eyJhbGciOiJFZERTQSIsImtpZCI6Im5vZGUtZW1vamkta2V5cy1FZERTQSIsInR5cCI6ImFnZW50c2NvcmUtcHJvZmlsZStqd3MifQ.eyIiOjMsImEiOjEsInNpZ25pbmdfa2V5cyI6W3siYWxnIjoiRWREU0EiLCJjcnYiOiJFZDI1NTE5Iiwia2lkIjoibm9kZS1lbW9qaS1rZXlzLUVkRFNBIiwia3R5IjoiT0tQIiwidXNlIjoic2lnIiwieCI6IjFseXh3ZVIwSkpyRmFNd1lDQ3VyMjdod1VFWk1velpIY2N3dUFhQVoycG8ifV0sInVjcCI6eyJjYXBhYmlsaXRpZXMiOnt9LCJuYW1lIjoiRW1vamkgS2V5cyBNZXJjaGFudCIsInBheW1lbnRfaGFuZGxlcnMiOnsic2guYWdlbnRzY29yZS5wYXltZW50LnRlbXBvIjpbeyJpZCI6InRlbXBvIiwic2NoZW1hIjoiaHR0cHM6Ly9hZ2VudHNjb3JlLnNoL3NjaGVtYXMvcGF5bWVudC1oYW5kbGVycy90ZW1wby5qc29uIiwic3BlYyI6Imh0dHBzOi8vYWdlbnRzY29yZS5zaC9zcGVjaWZpY2F0aW9uL3BheW1lbnQtaGFuZGxlcnMvdGVtcG8iLCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9XX0sInNlcnZpY2VzIjp7ImRldi51Y3Auc2hvcHBpbmciOlt7ImVuZHBvaW50IjoiaHR0cHM6Ly9lbW9qaS5leGFtcGxlLmNvbS9hcGkvdWNwL21jcCIsInNjaGVtYSI6Imh0dHBzOi8vdWNwLmRldi9zZXJ2aWNlcy9zaG9wcGluZy9tY3Aub3BlbnJwYy5qc29uIiwic3BlYyI6Imh0dHBzOi8vdWNwLmRldi8yMDI2LTA0LTA4L3NwZWNpZmljYXRpb24vb3ZlcnZpZXciLCJ0cmFuc3BvcnQiOiJtY3AiLCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9XX0sInZlcnNpb24iOiIyMDI2LTA0LTA4In0sIuixiCI6Miwi8J-NtyI6NH0.kaIXBy_GOX_8dfmSEgxKhj2Elr3xfsWGsGHlMl0SVl6Qhf5Ngqi759_4fgRehat_tZ9qJcmt_rmnUkiPzBkKAA" + "signature": "eyJhbGciOiJFZERTQSIsImtpZCI6Im5vZGUtZW1vamkta2V5cy1FZERTQSIsInR5cCI6ImFnZW50c2NvcmUtcHJvZmlsZStqd3MifQ.eyIiOjMsImEiOjEsInNpZ25pbmdfa2V5cyI6W3siYWxnIjoiRWREU0EiLCJjcnYiOiJFZDI1NTE5Iiwia2lkIjoibm9kZS1lbW9qaS1rZXlzLUVkRFNBIiwia3R5IjoiT0tQIiwidXNlIjoic2lnIiwieCI6IkxOblhJQmxlREF0V1Q5OThnbV8tOFFiYzRyM0JhemRGdjN2c3NKVGNIRWMifV0sInVjcCI6eyJjYXBhYmlsaXRpZXMiOnt9LCJuYW1lIjoiRW1vamkgS2V5cyBNZXJjaGFudCIsInBheW1lbnRfaGFuZGxlcnMiOnsic2guYWdlbnRzY29yZS5wYXltZW50LnRlbXBvIjpbeyJpZCI6InRlbXBvIiwic2NoZW1hIjoiaHR0cHM6Ly9hZ2VudHNjb3JlLmNvbS9zY2hlbWFzL3BheW1lbnQtaGFuZGxlcnMvdGVtcG8uanNvbiIsInNwZWMiOiJodHRwczovL2FnZW50c2NvcmUuY29tL3NwZWNpZmljYXRpb24vcGF5bWVudC1oYW5kbGVycy90ZW1wbyIsInZlcnNpb24iOiIyMDI2LTA0LTA4In1dfSwic2VydmljZXMiOnsiZGV2LnVjcC5zaG9wcGluZyI6W3siZW5kcG9pbnQiOiJodHRwczovL2Vtb2ppLmV4YW1wbGUuY29tL2FwaS91Y3AvbWNwIiwic2NoZW1hIjoiaHR0cHM6Ly91Y3AuZGV2L3NlcnZpY2VzL3Nob3BwaW5nL21jcC5vcGVucnBjLmpzb24iLCJzcGVjIjoiaHR0cHM6Ly91Y3AuZGV2LzIwMjYtMDQtMDgvc3BlY2lmaWNhdGlvbi9vdmVydmlldyIsInRyYW5zcG9ydCI6Im1jcCIsInZlcnNpb24iOiIyMDI2LTA0LTA4In1dfSwidmVyc2lvbiI6IjIwMjYtMDQtMDgifSwi6LGIIjoyLCLwn423Ijo0fQ.MrKkoGaqW5-9FhCPlCBjAzW_XsOMXHniEqXEEFTKET9rQg9SHB-rm914yPHcRYRs5FlseaKYoIvpe-CHeZo1CA" }, "jwks": { "keys": [ @@ -50,7 +50,7 @@ "use": "sig", "crv": "Ed25519", "kty": "OKP", - "x": "1lyxweR0JJrFaMwYCCur27hwUEZMozZHccwuAaAZ2po" + "x": "LNnXIBleDAtWT998gm_-8Qbc4r3BazdFv3vssJTcHEc" } ] }, diff --git a/tests/fixtures/cross-lang/node-es256-rails.json b/tests/fixtures/cross-lang/node-es256-rails.json index 785bfde..a002ea3 100644 --- a/tests/fixtures/cross-lang/node-es256-rails.json +++ b/tests/fixtures/cross-lang/node-es256-rails.json @@ -56,11 +56,11 @@ "use": "sig", "crv": "P-256", "kty": "EC", - "x": "rTEyD9j6Bwmi8cINDuTXIPZJKsOhroiPxNko2lUm4ug", - "y": "g2nukIWNA3RXPNMlOoGqMezC7kHOEsuigivBUXUnkDE" + "x": "UZx-ShOd9Tg7C1IjcpVF14BZnStuLLZ09lmzbM3KPQE", + "y": "OyZz4TCW9eTs0CM5RJ6NKfLt2teDF-6UiNy0yXJdfzA" } ], - "signature": "eyJhbGciOiJFUzI1NiIsImtpZCI6Im5vZGUtZXMyNTYtcmFpbHMtRVMyNTYiLCJ0eXAiOiJhZ2VudHNjb3JlLXByb2ZpbGUrandzIn0.eyJzaWduaW5nX2tleXMiOlt7ImFsZyI6IkVTMjU2IiwiY3J2IjoiUC0yNTYiLCJraWQiOiJub2RlLWVzMjU2LXJhaWxzLUVTMjU2Iiwia3R5IjoiRUMiLCJ1c2UiOiJzaWciLCJ4IjoiclRFeUQ5ajZCd21pOGNJTkR1VFhJUFpKS3NPaHJvaVB4TmtvMmxVbTR1ZyIsInkiOiJnMm51a0lXTkEzUlhQTk1sT29HcU1lekM3a0hPRXN1aWdpdkJVWFVua0RFIn1dLCJ1Y3AiOnsiY2FwYWJpbGl0aWVzIjp7fSwibmFtZSI6IkVTMjU2IE1lcmNoYW50IiwicGF5bWVudF9oYW5kbGVycyI6eyJzaC5hZ2VudHNjb3JlLnBheW1lbnQudGVtcG8iOlt7ImNvbmZpZyI6eyJjaGFpbl9pZCI6NDIxNywicmFpbCI6InRlbXBvLW1haW5uZXQifSwiaWQiOiJ0ZW1wbyIsInNjaGVtYSI6Imh0dHBzOi8vYWdlbnRzY29yZS5zaC9zY2hlbWFzL3BheW1lbnQtaGFuZGxlcnMvdGVtcG8uanNvbiIsInNwZWMiOiJodHRwczovL2FnZW50c2NvcmUuc2gvc3BlY2lmaWNhdGlvbi9wYXltZW50LWhhbmRsZXJzL3RlbXBvIiwidmVyc2lvbiI6IjIwMjYtMDQtMDgifV0sInNoLmFnZW50c2NvcmUucGF5bWVudC54NDAyIjpbeyJjb25maWciOnsibmV0d29ya3MiOlsiYmFzZS04NDUzIl19LCJpZCI6Ing0MDIiLCJzY2hlbWEiOiJodHRwczovL2FnZW50c2NvcmUuc2gvc2NoZW1hcy9wYXltZW50LWhhbmRsZXJzL3g0MDIuanNvbiIsInNwZWMiOiJodHRwczovL2FnZW50c2NvcmUuc2gvc3BlY2lmaWNhdGlvbi9wYXltZW50LWhhbmRsZXJzL3g0MDIiLCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9XX0sInNlcnZpY2VzIjp7ImRldi51Y3Auc2hvcHBpbmciOlt7ImVuZHBvaW50IjoiaHR0cHM6Ly9hLmV4YW1wbGUuY29tL2FwaS91Y3AvbWNwIiwic2NoZW1hIjoiaHR0cHM6Ly91Y3AuZGV2L3NlcnZpY2VzL3Nob3BwaW5nL21jcC5vcGVucnBjLmpzb24iLCJzcGVjIjoiaHR0cHM6Ly91Y3AuZGV2LzIwMjYtMDQtMDgvc3BlY2lmaWNhdGlvbi9vdmVydmlldyIsInRyYW5zcG9ydCI6Im1jcCIsInZlcnNpb24iOiIyMDI2LTA0LTA4In0seyJlbmRwb2ludCI6Imh0dHBzOi8vYS5leGFtcGxlLmNvbS8ud2VsbC1rbm93bi9hZ2VudC1jYXJkLmpzb24iLCJzcGVjIjoiaHR0cHM6Ly91Y3AuZGV2LzIwMjYtMDQtMDgvc3BlY2lmaWNhdGlvbi9vdmVydmlldyIsInRyYW5zcG9ydCI6ImEyYSIsInZlcnNpb24iOiIyMDI2LTA0LTA4In1dfSwidmVyc2lvbiI6IjIwMjYtMDQtMDgifX0.-z0gMcjpn2kWi5q5Z3cADjx56vqVlzuca442pO61E8xUnYtTbwyMXGIicEy052yl6pCmxFKpcV6xddkzFzzmHQ" + "signature": "eyJhbGciOiJFUzI1NiIsImtpZCI6Im5vZGUtZXMyNTYtcmFpbHMtRVMyNTYiLCJ0eXAiOiJhZ2VudHNjb3JlLXByb2ZpbGUrandzIn0.eyJzaWduaW5nX2tleXMiOlt7ImFsZyI6IkVTMjU2IiwiY3J2IjoiUC0yNTYiLCJraWQiOiJub2RlLWVzMjU2LXJhaWxzLUVTMjU2Iiwia3R5IjoiRUMiLCJ1c2UiOiJzaWciLCJ4IjoiVVp4LVNoT2Q5VGc3QzFJamNwVkYxNEJablN0dUxMWjA5bG16Yk0zS1BRRSIsInkiOiJPeVp6NFRDVzllVHMwQ001Uko2TktmTHQydGVERi02VWlOeTB5WEpkZnpBIn1dLCJ1Y3AiOnsiY2FwYWJpbGl0aWVzIjp7fSwibmFtZSI6IkVTMjU2IE1lcmNoYW50IiwicGF5bWVudF9oYW5kbGVycyI6eyJzaC5hZ2VudHNjb3JlLnBheW1lbnQudGVtcG8iOlt7ImNvbmZpZyI6eyJjaGFpbl9pZCI6NDIxNywicmFpbCI6InRlbXBvLW1haW5uZXQifSwiaWQiOiJ0ZW1wbyIsInNjaGVtYSI6Imh0dHBzOi8vYWdlbnRzY29yZS5jb20vc2NoZW1hcy9wYXltZW50LWhhbmRsZXJzL3RlbXBvLmpzb24iLCJzcGVjIjoiaHR0cHM6Ly9hZ2VudHNjb3JlLmNvbS9zcGVjaWZpY2F0aW9uL3BheW1lbnQtaGFuZGxlcnMvdGVtcG8iLCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9XSwic2guYWdlbnRzY29yZS5wYXltZW50Lng0MDIiOlt7ImNvbmZpZyI6eyJuZXR3b3JrcyI6WyJiYXNlLTg0NTMiXX0sImlkIjoieDQwMiIsInNjaGVtYSI6Imh0dHBzOi8vYWdlbnRzY29yZS5jb20vc2NoZW1hcy9wYXltZW50LWhhbmRsZXJzL3g0MDIuanNvbiIsInNwZWMiOiJodHRwczovL2FnZW50c2NvcmUuY29tL3NwZWNpZmljYXRpb24vcGF5bWVudC1oYW5kbGVycy94NDAyIiwidmVyc2lvbiI6IjIwMjYtMDQtMDgifV19LCJzZXJ2aWNlcyI6eyJkZXYudWNwLnNob3BwaW5nIjpbeyJlbmRwb2ludCI6Imh0dHBzOi8vYS5leGFtcGxlLmNvbS9hcGkvdWNwL21jcCIsInNjaGVtYSI6Imh0dHBzOi8vdWNwLmRldi9zZXJ2aWNlcy9zaG9wcGluZy9tY3Aub3BlbnJwYy5qc29uIiwic3BlYyI6Imh0dHBzOi8vdWNwLmRldi8yMDI2LTA0LTA4L3NwZWNpZmljYXRpb24vb3ZlcnZpZXciLCJ0cmFuc3BvcnQiOiJtY3AiLCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9LHsiZW5kcG9pbnQiOiJodHRwczovL2EuZXhhbXBsZS5jb20vLndlbGwta25vd24vYWdlbnQtY2FyZC5qc29uIiwic3BlYyI6Imh0dHBzOi8vdWNwLmRldi8yMDI2LTA0LTA4L3NwZWNpZmljYXRpb24vb3ZlcnZpZXciLCJ0cmFuc3BvcnQiOiJhMmEiLCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9XX0sInZlcnNpb24iOiIyMDI2LTA0LTA4In19.Cp-cTjiqTQqcZUPNkrxtLEEIwUmAdultdYobwVRkBKC5cQ4LzfZjgHG-NYbEPX_JRw64t7dKAlckeox_MJX_fw" }, "jwks": { "keys": [ @@ -70,8 +70,8 @@ "use": "sig", "crv": "P-256", "kty": "EC", - "x": "rTEyD9j6Bwmi8cINDuTXIPZJKsOhroiPxNko2lUm4ug", - "y": "g2nukIWNA3RXPNMlOoGqMezC7kHOEsuigivBUXUnkDE" + "x": "UZx-ShOd9Tg7C1IjcpVF14BZnStuLLZ09lmzbM3KPQE", + "y": "OyZz4TCW9eTs0CM5RJ6NKfLt2teDF-6UiNy0yXJdfzA" } ] }, diff --git a/tests/fixtures/cross-lang/node-extras-int.json b/tests/fixtures/cross-lang/node-extras-int.json index 9142496..283af98 100644 --- a/tests/fixtures/cross-lang/node-extras-int.json +++ b/tests/fixtures/cross-lang/node-extras-int.json @@ -37,10 +37,10 @@ "use": "sig", "crv": "Ed25519", "kty": "OKP", - "x": "8bY4p8JAZawYMyaOHz00B9cXv1sLsYEPclIhH56ZU9c" + "x": "pYu3BOhWmWj2F1fWUmOnAhu_nL3udMeVaJcH4AItz6U" } ], - "signature": "eyJhbGciOiJFZERTQSIsImtpZCI6Im5vZGUtZXh0cmFzLWludC1FZERTQSIsInR5cCI6ImFnZW50c2NvcmUtcHJvZmlsZStqd3MifQ.eyJzaWduaW5nX2tleXMiOlt7ImFsZyI6IkVkRFNBIiwiY3J2IjoiRWQyNTUxOSIsImtpZCI6Im5vZGUtZXh0cmFzLWludC1FZERTQSIsImt0eSI6Ik9LUCIsInVzZSI6InNpZyIsIngiOiI4Ylk0cDhKQVphd1lNeWFPSHowMEI5Y1h2MXNMc1lFUGNsSWhINTZaVTljIn1dLCJ1Y3AiOnsiY2FwYWJpbGl0aWVzIjp7fSwibmFtZSI6IkV4dHJhcyBNZXJjaGFudCIsInBheW1lbnRfaGFuZGxlcnMiOnsic2guYWdlbnRzY29yZS5wYXltZW50LnN0cmlwZV9zcHQiOlt7ImNvbmZpZyI6eyJjb3VudCI6NywicHJvZmlsZV9pZCI6ImFiYyJ9LCJpZCI6InN0cmlwZSIsInNjaGVtYSI6Imh0dHBzOi8vYWdlbnRzY29yZS5zaC9zY2hlbWFzL3BheW1lbnQtaGFuZGxlcnMvc3RyaXBlX3NwdC5qc29uIiwic3BlYyI6Imh0dHBzOi8vYWdlbnRzY29yZS5zaC9zcGVjaWZpY2F0aW9uL3BheW1lbnQtaGFuZGxlcnMvc3RyaXBlX3NwdCIsInZlcnNpb24iOiIyMDI2LTA0LTA4In1dfSwic2VydmljZXMiOnsiZGV2LnVjcC5zaG9wcGluZyI6W3siZW5kcG9pbnQiOiJodHRwczovL2UuZXhhbXBsZS5jb20vYXBpL3VjcC9tY3AiLCJzY2hlbWEiOiJodHRwczovL3VjcC5kZXYvc2VydmljZXMvc2hvcHBpbmcvbWNwLm9wZW5ycGMuanNvbiIsInNwZWMiOiJodHRwczovL3VjcC5kZXYvMjAyNi0wNC0wOC9zcGVjaWZpY2F0aW9uL292ZXJ2aWV3IiwidHJhbnNwb3J0IjoibWNwIiwidmVyc2lvbiI6IjIwMjYtMDQtMDgifV19LCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9fQ.9uvrpl0IE82nKBGWyLf5GvszZ3F0HL2TRs3Q9Gr3DlSwMKrS5TP3paVuwWg6b_CUHdDYKdDScwOcbSN4_ELnBw" + "signature": "eyJhbGciOiJFZERTQSIsImtpZCI6Im5vZGUtZXh0cmFzLWludC1FZERTQSIsInR5cCI6ImFnZW50c2NvcmUtcHJvZmlsZStqd3MifQ.eyJzaWduaW5nX2tleXMiOlt7ImFsZyI6IkVkRFNBIiwiY3J2IjoiRWQyNTUxOSIsImtpZCI6Im5vZGUtZXh0cmFzLWludC1FZERTQSIsImt0eSI6Ik9LUCIsInVzZSI6InNpZyIsIngiOiJwWXUzQk9oV21XajJGMWZXVW1PbkFodV9uTDN1ZE1lVmFKY0g0QUl0ejZVIn1dLCJ1Y3AiOnsiY2FwYWJpbGl0aWVzIjp7fSwibmFtZSI6IkV4dHJhcyBNZXJjaGFudCIsInBheW1lbnRfaGFuZGxlcnMiOnsic2guYWdlbnRzY29yZS5wYXltZW50LnN0cmlwZV9zcHQiOlt7ImNvbmZpZyI6eyJjb3VudCI6NywicHJvZmlsZV9pZCI6ImFiYyJ9LCJpZCI6InN0cmlwZSIsInNjaGVtYSI6Imh0dHBzOi8vYWdlbnRzY29yZS5jb20vc2NoZW1hcy9wYXltZW50LWhhbmRsZXJzL3N0cmlwZV9zcHQuanNvbiIsInNwZWMiOiJodHRwczovL2FnZW50c2NvcmUuY29tL3NwZWNpZmljYXRpb24vcGF5bWVudC1oYW5kbGVycy9zdHJpcGVfc3B0IiwidmVyc2lvbiI6IjIwMjYtMDQtMDgifV19LCJzZXJ2aWNlcyI6eyJkZXYudWNwLnNob3BwaW5nIjpbeyJlbmRwb2ludCI6Imh0dHBzOi8vZS5leGFtcGxlLmNvbS9hcGkvdWNwL21jcCIsInNjaGVtYSI6Imh0dHBzOi8vdWNwLmRldi9zZXJ2aWNlcy9zaG9wcGluZy9tY3Aub3BlbnJwYy5qc29uIiwic3BlYyI6Imh0dHBzOi8vdWNwLmRldi8yMDI2LTA0LTA4L3NwZWNpZmljYXRpb24vb3ZlcnZpZXciLCJ0cmFuc3BvcnQiOiJtY3AiLCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9XX0sInZlcnNpb24iOiIyMDI2LTA0LTA4In19.P39_GWBvKmruJz96RqUWuFcKI7ucpGqj0MnuFciU7mJk8FXHXMbDHinMrFJqD6L5B5zaTVY-eGaoMwMsjVdbCw" }, "jwks": { "keys": [ @@ -50,7 +50,7 @@ "use": "sig", "crv": "Ed25519", "kty": "OKP", - "x": "8bY4p8JAZawYMyaOHz00B9cXv1sLsYEPclIhH56ZU9c" + "x": "pYu3BOhWmWj2F1fWUmOnAhu_nL3udMeVaJcH4AItz6U" } ] }, diff --git a/tests/fixtures/cross-lang/node-int-boundary.json b/tests/fixtures/cross-lang/node-int-boundary.json index 8377f04..45a6028 100644 --- a/tests/fixtures/cross-lang/node-int-boundary.json +++ b/tests/fixtures/cross-lang/node-int-boundary.json @@ -24,7 +24,7 @@ "use": "sig", "crv": "Ed25519", "kty": "OKP", - "x": "-Oje3qF87VTvybymL6PJdJUmAe2NOxjsbRaOoNNO6Qc" + "x": "V77oeUjk6jErq5goxWad4Dyb6RTQhIXcGe8aLMWx5zY" } ], "max_safe_int": 9007199254740991, @@ -32,7 +32,7 @@ "small_int": 42, "neg_small_int": -42, "zero": 0, - "signature": "eyJhbGciOiJFZERTQSIsImtpZCI6Im5vZGUtaW50LWJvdW5kYXJ5LUVkRFNBIiwidHlwIjoiYWdlbnRzY29yZS1wcm9maWxlK2p3cyJ9.eyJtYXhfc2FmZV9pbnQiOjkwMDcxOTkyNTQ3NDA5OTEsIm1pbl9zYWZlX2ludCI6LTkwMDcxOTkyNTQ3NDA5OTEsIm5lZ19zbWFsbF9pbnQiOi00Miwic2lnbmluZ19rZXlzIjpbeyJhbGciOiJFZERTQSIsImNydiI6IkVkMjU1MTkiLCJraWQiOiJub2RlLWludC1ib3VuZGFyeS1FZERTQSIsImt0eSI6Ik9LUCIsInVzZSI6InNpZyIsIngiOiItT2plM3FGODdWVHZ5YnltTDZQSmRKVW1BZTJOT3hqc2JSYU9vTk5PNlFjIn1dLCJzbWFsbF9pbnQiOjQyLCJ1Y3AiOnsiY2FwYWJpbGl0aWVzIjp7fSwibmFtZSI6IkludCBCb3VuZGFyeSBNZXJjaGFudCIsInBheW1lbnRfaGFuZGxlcnMiOnt9LCJzZXJ2aWNlcyI6eyJkZXYudWNwLnNob3BwaW5nIjpbeyJlbmRwb2ludCI6Imh0dHBzOi8vaS5leGFtcGxlLmNvbS9hcGkvdWNwL21jcCIsInNjaGVtYSI6Imh0dHBzOi8vdWNwLmRldi9zZXJ2aWNlcy9zaG9wcGluZy9tY3Aub3BlbnJwYy5qc29uIiwic3BlYyI6Imh0dHBzOi8vdWNwLmRldi8yMDI2LTA0LTA4L3NwZWNpZmljYXRpb24vb3ZlcnZpZXciLCJ0cmFuc3BvcnQiOiJtY3AiLCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9XX0sInZlcnNpb24iOiIyMDI2LTA0LTA4In0sInplcm8iOjB9.PmLCJdpu-40amNjiOkH28gap2WFsIYmP8TRD3-3jdnrQE5ZibmIyBPegnNzAi8ZvB1W6sl72pNXPDdooFfGjDw" + "signature": "eyJhbGciOiJFZERTQSIsImtpZCI6Im5vZGUtaW50LWJvdW5kYXJ5LUVkRFNBIiwidHlwIjoiYWdlbnRzY29yZS1wcm9maWxlK2p3cyJ9.eyJtYXhfc2FmZV9pbnQiOjkwMDcxOTkyNTQ3NDA5OTEsIm1pbl9zYWZlX2ludCI6LTkwMDcxOTkyNTQ3NDA5OTEsIm5lZ19zbWFsbF9pbnQiOi00Miwic2lnbmluZ19rZXlzIjpbeyJhbGciOiJFZERTQSIsImNydiI6IkVkMjU1MTkiLCJraWQiOiJub2RlLWludC1ib3VuZGFyeS1FZERTQSIsImt0eSI6Ik9LUCIsInVzZSI6InNpZyIsIngiOiJWNzdvZVVqazZqRXJxNWdveFdhZDREeWI2UlRRaElYY0dlOGFMTVd4NXpZIn1dLCJzbWFsbF9pbnQiOjQyLCJ1Y3AiOnsiY2FwYWJpbGl0aWVzIjp7fSwibmFtZSI6IkludCBCb3VuZGFyeSBNZXJjaGFudCIsInBheW1lbnRfaGFuZGxlcnMiOnt9LCJzZXJ2aWNlcyI6eyJkZXYudWNwLnNob3BwaW5nIjpbeyJlbmRwb2ludCI6Imh0dHBzOi8vaS5leGFtcGxlLmNvbS9hcGkvdWNwL21jcCIsInNjaGVtYSI6Imh0dHBzOi8vdWNwLmRldi9zZXJ2aWNlcy9zaG9wcGluZy9tY3Aub3BlbnJwYy5qc29uIiwic3BlYyI6Imh0dHBzOi8vdWNwLmRldi8yMDI2LTA0LTA4L3NwZWNpZmljYXRpb24vb3ZlcnZpZXciLCJ0cmFuc3BvcnQiOiJtY3AiLCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9XX0sInZlcnNpb24iOiIyMDI2LTA0LTA4In0sInplcm8iOjB9.gZzMLkLj-mgTQl-Y741LWC5vXPJqWRHIYTLnsBwk2ot6tMf82HubgwCpgneh0eC8Qoeh9yc34MxxQVeckQE1Bw" }, "jwks": { "keys": [ @@ -42,7 +42,7 @@ "use": "sig", "crv": "Ed25519", "kty": "OKP", - "x": "-Oje3qF87VTvybymL6PJdJUmAe2NOxjsbRaOoNNO6Qc" + "x": "V77oeUjk6jErq5goxWad4Dyb6RTQhIXcGe8aLMWx5zY" } ] }, diff --git a/tests/fixtures/cross-lang/node-minimal.json b/tests/fixtures/cross-lang/node-minimal.json index ffa0239..87021da 100644 --- a/tests/fixtures/cross-lang/node-minimal.json +++ b/tests/fixtures/cross-lang/node-minimal.json @@ -24,10 +24,10 @@ "use": "sig", "crv": "Ed25519", "kty": "OKP", - "x": "uLYv8aI6H5s6nYXHHTKDGdh8yVCQRzDPkM0AO6IhFoI" + "x": "dZYxHEBzWB022zKUiHS1v9Q7nkaK49POYI82Nr5xSqQ" } ], - "signature": "eyJhbGciOiJFZERTQSIsImtpZCI6Im5vZGUtbWluaW1hbC1FZERTQSIsInR5cCI6ImFnZW50c2NvcmUtcHJvZmlsZStqd3MifQ.eyJzaWduaW5nX2tleXMiOlt7ImFsZyI6IkVkRFNBIiwiY3J2IjoiRWQyNTUxOSIsImtpZCI6Im5vZGUtbWluaW1hbC1FZERTQSIsImt0eSI6Ik9LUCIsInVzZSI6InNpZyIsIngiOiJ1TFl2OGFJNkg1czZuWVhISFRLREdkaDh5VkNRUnpEUGtNMEFPNkloRm9JIn1dLCJ1Y3AiOnsiY2FwYWJpbGl0aWVzIjp7fSwibmFtZSI6Ik1pbmltYWwgTWVyY2hhbnQiLCJwYXltZW50X2hhbmRsZXJzIjp7fSwic2VydmljZXMiOnsiZGV2LnVjcC5zaG9wcGluZyI6W3siZW5kcG9pbnQiOiJodHRwczovL20uZXhhbXBsZS5jb20vYXBpL3VjcC9tY3AiLCJzY2hlbWEiOiJodHRwczovL3VjcC5kZXYvc2VydmljZXMvc2hvcHBpbmcvbWNwLm9wZW5ycGMuanNvbiIsInNwZWMiOiJodHRwczovL3VjcC5kZXYvMjAyNi0wNC0wOC9zcGVjaWZpY2F0aW9uL292ZXJ2aWV3IiwidHJhbnNwb3J0IjoibWNwIiwidmVyc2lvbiI6IjIwMjYtMDQtMDgifV19LCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9fQ.fqIGhDyJowQJmEVapVofDGkB6UamNc-YJojcpGWucn7UIxvJiqmdGPjiLhpiKpMrwgzBkXe1hLBzZoNHtAPMCw" + "signature": "eyJhbGciOiJFZERTQSIsImtpZCI6Im5vZGUtbWluaW1hbC1FZERTQSIsInR5cCI6ImFnZW50c2NvcmUtcHJvZmlsZStqd3MifQ.eyJzaWduaW5nX2tleXMiOlt7ImFsZyI6IkVkRFNBIiwiY3J2IjoiRWQyNTUxOSIsImtpZCI6Im5vZGUtbWluaW1hbC1FZERTQSIsImt0eSI6Ik9LUCIsInVzZSI6InNpZyIsIngiOiJkWll4SEVCeldCMDIyektVaUhTMXY5UTdua2FLNDlQT1lJODJOcjV4U3FRIn1dLCJ1Y3AiOnsiY2FwYWJpbGl0aWVzIjp7fSwibmFtZSI6Ik1pbmltYWwgTWVyY2hhbnQiLCJwYXltZW50X2hhbmRsZXJzIjp7fSwic2VydmljZXMiOnsiZGV2LnVjcC5zaG9wcGluZyI6W3siZW5kcG9pbnQiOiJodHRwczovL20uZXhhbXBsZS5jb20vYXBpL3VjcC9tY3AiLCJzY2hlbWEiOiJodHRwczovL3VjcC5kZXYvc2VydmljZXMvc2hvcHBpbmcvbWNwLm9wZW5ycGMuanNvbiIsInNwZWMiOiJodHRwczovL3VjcC5kZXYvMjAyNi0wNC0wOC9zcGVjaWZpY2F0aW9uL292ZXJ2aWV3IiwidHJhbnNwb3J0IjoibWNwIiwidmVyc2lvbiI6IjIwMjYtMDQtMDgifV19LCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9fQ.g8azzIAP8dMbOfEUAG0w0P1wja-S2sM8HtrltGv1kTM8zDmnrHTAUv1x4jIqus7wyc_M0_JEHReDoyX7H3hQDg" }, "jwks": { "keys": [ @@ -37,7 +37,7 @@ "use": "sig", "crv": "Ed25519", "kty": "OKP", - "x": "uLYv8aI6H5s6nYXHHTKDGdh8yVCQRzDPkM0AO6IhFoI" + "x": "dZYxHEBzWB022zKUiHS1v9Q7nkaK49POYI82Nr5xSqQ" } ] }, diff --git a/tests/fixtures/cross-lang/node-multikey.json b/tests/fixtures/cross-lang/node-multikey.json index 8ed23cf..d6a6314 100644 --- a/tests/fixtures/cross-lang/node-multikey.json +++ b/tests/fixtures/cross-lang/node-multikey.json @@ -36,7 +36,7 @@ "use": "sig", "crv": "Ed25519", "kty": "OKP", - "x": "Xu4Op-Ycm4awJeGFw8b67ouLXQTgOM_fj5LrATF7_es" + "x": "-uSgkhsi01ui1-Wz_fqF4bUgOLk3jcigfmmE35CFUrY" }, { "kid": "node-multikey-new", @@ -44,10 +44,10 @@ "use": "sig", "crv": "Ed25519", "kty": "OKP", - "x": "WQUfG6_UAqBPjH81xLn22nzDeq4Z2BgzEk1U5KdsBFY" + "x": "AjBvymwmHNma_hcq0FJ5-UcYd0IOjItBuNQwo3KoJl8" } ], - "signature": "eyJhbGciOiJFZERTQSIsImtpZCI6Im5vZGUtbXVsdGlrZXktbmV3IiwidHlwIjoiYWdlbnRzY29yZS1wcm9maWxlK2p3cyJ9.eyJzaWduaW5nX2tleXMiOlt7ImFsZyI6IkVkRFNBIiwiY3J2IjoiRWQyNTUxOSIsImtpZCI6Im5vZGUtbXVsdGlrZXktb2xkIiwia3R5IjoiT0tQIiwidXNlIjoic2lnIiwieCI6Ilh1NE9wLVljbTRhd0plR0Z3OGI2N291TFhRVGdPTV9majVMckFURjdfZXMifSx7ImFsZyI6IkVkRFNBIiwiY3J2IjoiRWQyNTUxOSIsImtpZCI6Im5vZGUtbXVsdGlrZXktbmV3Iiwia3R5IjoiT0tQIiwidXNlIjoic2lnIiwieCI6IldRVWZHNl9VQXFCUGpIODF4TG4yMm56RGVxNFoyQmd6RWsxVTVLZHNCRlkifV0sInVjcCI6eyJjYXBhYmlsaXRpZXMiOnt9LCJuYW1lIjoiTXVsdGktS2V5IE1lcmNoYW50IiwicGF5bWVudF9oYW5kbGVycyI6eyJzaC5hZ2VudHNjb3JlLnBheW1lbnQudGVtcG8iOlt7ImNvbmZpZyI6eyJyYWlsIjoidGVtcG8tbWFpbm5ldCJ9LCJpZCI6InRlbXBvIiwic2NoZW1hIjoiaHR0cHM6Ly9hZ2VudHNjb3JlLnNoL3NjaGVtYXMvcGF5bWVudC1oYW5kbGVycy90ZW1wby5qc29uIiwic3BlYyI6Imh0dHBzOi8vYWdlbnRzY29yZS5zaC9zcGVjaWZpY2F0aW9uL3BheW1lbnQtaGFuZGxlcnMvdGVtcG8iLCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9XX0sInNlcnZpY2VzIjp7ImRldi51Y3Auc2hvcHBpbmciOlt7ImVuZHBvaW50IjoiaHR0cHM6Ly9tay5leGFtcGxlLmNvbS9hcGkvdWNwL21jcCIsInNjaGVtYSI6Imh0dHBzOi8vdWNwLmRldi9zZXJ2aWNlcy9zaG9wcGluZy9tY3Aub3BlbnJwYy5qc29uIiwic3BlYyI6Imh0dHBzOi8vdWNwLmRldi8yMDI2LTA0LTA4L3NwZWNpZmljYXRpb24vb3ZlcnZpZXciLCJ0cmFuc3BvcnQiOiJtY3AiLCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9XX0sInZlcnNpb24iOiIyMDI2LTA0LTA4In19.Xv5w2FohwRi0BBg0ulAUA6mc8NUoS5nTlVtLlI6Gq92K7C-2UCWYQGenLteD4HUPTe6aJsZuV7fWuUkBNgDYAw" + "signature": "eyJhbGciOiJFZERTQSIsImtpZCI6Im5vZGUtbXVsdGlrZXktbmV3IiwidHlwIjoiYWdlbnRzY29yZS1wcm9maWxlK2p3cyJ9.eyJzaWduaW5nX2tleXMiOlt7ImFsZyI6IkVkRFNBIiwiY3J2IjoiRWQyNTUxOSIsImtpZCI6Im5vZGUtbXVsdGlrZXktb2xkIiwia3R5IjoiT0tQIiwidXNlIjoic2lnIiwieCI6Ii11U2draHNpMDF1aTEtV3pfZnFGNGJVZ09MazNqY2lnZm1tRTM1Q0ZVclkifSx7ImFsZyI6IkVkRFNBIiwiY3J2IjoiRWQyNTUxOSIsImtpZCI6Im5vZGUtbXVsdGlrZXktbmV3Iiwia3R5IjoiT0tQIiwidXNlIjoic2lnIiwieCI6IkFqQnZ5bXdtSE5tYV9oY3EwRko1LVVjWWQwSU9qSXRCdU5Rd28zS29KbDgifV0sInVjcCI6eyJjYXBhYmlsaXRpZXMiOnt9LCJuYW1lIjoiTXVsdGktS2V5IE1lcmNoYW50IiwicGF5bWVudF9oYW5kbGVycyI6eyJzaC5hZ2VudHNjb3JlLnBheW1lbnQudGVtcG8iOlt7ImNvbmZpZyI6eyJyYWlsIjoidGVtcG8tbWFpbm5ldCJ9LCJpZCI6InRlbXBvIiwic2NoZW1hIjoiaHR0cHM6Ly9hZ2VudHNjb3JlLmNvbS9zY2hlbWFzL3BheW1lbnQtaGFuZGxlcnMvdGVtcG8uanNvbiIsInNwZWMiOiJodHRwczovL2FnZW50c2NvcmUuY29tL3NwZWNpZmljYXRpb24vcGF5bWVudC1oYW5kbGVycy90ZW1wbyIsInZlcnNpb24iOiIyMDI2LTA0LTA4In1dfSwic2VydmljZXMiOnsiZGV2LnVjcC5zaG9wcGluZyI6W3siZW5kcG9pbnQiOiJodHRwczovL21rLmV4YW1wbGUuY29tL2FwaS91Y3AvbWNwIiwic2NoZW1hIjoiaHR0cHM6Ly91Y3AuZGV2L3NlcnZpY2VzL3Nob3BwaW5nL21jcC5vcGVucnBjLmpzb24iLCJzcGVjIjoiaHR0cHM6Ly91Y3AuZGV2LzIwMjYtMDQtMDgvc3BlY2lmaWNhdGlvbi9vdmVydmlldyIsInRyYW5zcG9ydCI6Im1jcCIsInZlcnNpb24iOiIyMDI2LTA0LTA4In1dfSwidmVyc2lvbiI6IjIwMjYtMDQtMDgifX0.Enrohw_utUEBKLo7yAIBNzbg6tWbxjolROGU0qYjqKcRwhBfHLx6VqXzj0BuWfgyyGnZKZkyRSMPDLPWx8M2Cw" }, "jwks": { "keys": [ @@ -57,7 +57,7 @@ "use": "sig", "crv": "Ed25519", "kty": "OKP", - "x": "Xu4Op-Ycm4awJeGFw8b67ouLXQTgOM_fj5LrATF7_es" + "x": "-uSgkhsi01ui1-Wz_fqF4bUgOLk3jcigfmmE35CFUrY" }, { "kid": "node-multikey-new", @@ -65,7 +65,7 @@ "use": "sig", "crv": "Ed25519", "kty": "OKP", - "x": "WQUfG6_UAqBPjH81xLn22nzDeq4Z2BgzEk1U5KdsBFY" + "x": "AjBvymwmHNma_hcq0FJ5-UcYd0IOjItBuNQwo3KoJl8" } ] }, diff --git a/tests/fixtures/cross-lang/node-unicode.json b/tests/fixtures/cross-lang/node-unicode.json index 8cc7577..c7744a9 100644 --- a/tests/fixtures/cross-lang/node-unicode.json +++ b/tests/fixtures/cross-lang/node-unicode.json @@ -36,10 +36,10 @@ "use": "sig", "crv": "Ed25519", "kty": "OKP", - "x": "D0L5Qdojm2_MWXHiFE7kJTQSqNQyjHeYp7xv-GRDins" + "x": "54imU4B5AuCgP19jq9LRTVJQ7za0A3bH-l4ZH4MZIVk" } ], - "signature": "eyJhbGciOiJFZERTQSIsImtpZCI6Im5vZGUtdW5pY29kZS1FZERTQSIsInR5cCI6ImFnZW50c2NvcmUtcHJvZmlsZStqd3MifQ.eyJzaWduaW5nX2tleXMiOlt7ImFsZyI6IkVkRFNBIiwiY3J2IjoiRWQyNTUxOSIsImtpZCI6Im5vZGUtdW5pY29kZS1FZERTQSIsImt0eSI6Ik9LUCIsInVzZSI6InNpZyIsIngiOiJEMEw1UWRvam0yX01XWEhpRkU3a0pUUVNxTlF5akhlWXA3eHYtR1JEaW5zIn1dLCJ1Y3AiOnsiY2FwYWJpbGl0aWVzIjp7fSwibmFtZSI6IkNhZsOpIOaXpeacrCDwn423IE1lcmNoYW50IiwicGF5bWVudF9oYW5kbGVycyI6eyJzaC5hZ2VudHNjb3JlLnBheW1lbnQudGVtcG8iOlt7ImNvbmZpZyI6eyJub3RlIjoi44Oh44OiIn0sImlkIjoidGVtcG8iLCJzY2hlbWEiOiJodHRwczovL2FnZW50c2NvcmUuc2gvc2NoZW1hcy9wYXltZW50LWhhbmRsZXJzL3RlbXBvLmpzb24iLCJzcGVjIjoiaHR0cHM6Ly9hZ2VudHNjb3JlLnNoL3NwZWNpZmljYXRpb24vcGF5bWVudC1oYW5kbGVycy90ZW1wbyIsInZlcnNpb24iOiIyMDI2LTA0LTA4In1dfSwic2VydmljZXMiOnsiZGV2LnVjcC5zaG9wcGluZyI6W3siZW5kcG9pbnQiOiJodHRwczovL-aXpeacrC5leGFtcGxlLmNvbS9hcGkvdWNwL21jcCIsInNjaGVtYSI6Imh0dHBzOi8vdWNwLmRldi9zZXJ2aWNlcy9zaG9wcGluZy9tY3Aub3BlbnJwYy5qc29uIiwic3BlYyI6Imh0dHBzOi8vdWNwLmRldi8yMDI2LTA0LTA4L3NwZWNpZmljYXRpb24vb3ZlcnZpZXciLCJ0cmFuc3BvcnQiOiJtY3AiLCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9XX0sInZlcnNpb24iOiIyMDI2LTA0LTA4In19.FidulEjqrdZPyaB4uUXaGYZHfHB3wG3cVI_xu4UXV0Qw7zEJ5VNmMmzLJ1gOji0JBOjNxgM_oCTYCyFG-a0MCw" + "signature": "eyJhbGciOiJFZERTQSIsImtpZCI6Im5vZGUtdW5pY29kZS1FZERTQSIsInR5cCI6ImFnZW50c2NvcmUtcHJvZmlsZStqd3MifQ.eyJzaWduaW5nX2tleXMiOlt7ImFsZyI6IkVkRFNBIiwiY3J2IjoiRWQyNTUxOSIsImtpZCI6Im5vZGUtdW5pY29kZS1FZERTQSIsImt0eSI6Ik9LUCIsInVzZSI6InNpZyIsIngiOiI1NGltVTRCNUF1Q2dQMTlqcTlMUlRWSlE3emEwQTNiSC1sNFpINE1aSVZrIn1dLCJ1Y3AiOnsiY2FwYWJpbGl0aWVzIjp7fSwibmFtZSI6IkNhZsOpIOaXpeacrCDwn423IE1lcmNoYW50IiwicGF5bWVudF9oYW5kbGVycyI6eyJzaC5hZ2VudHNjb3JlLnBheW1lbnQudGVtcG8iOlt7ImNvbmZpZyI6eyJub3RlIjoi44Oh44OiIn0sImlkIjoidGVtcG8iLCJzY2hlbWEiOiJodHRwczovL2FnZW50c2NvcmUuY29tL3NjaGVtYXMvcGF5bWVudC1oYW5kbGVycy90ZW1wby5qc29uIiwic3BlYyI6Imh0dHBzOi8vYWdlbnRzY29yZS5jb20vc3BlY2lmaWNhdGlvbi9wYXltZW50LWhhbmRsZXJzL3RlbXBvIiwidmVyc2lvbiI6IjIwMjYtMDQtMDgifV19LCJzZXJ2aWNlcyI6eyJkZXYudWNwLnNob3BwaW5nIjpbeyJlbmRwb2ludCI6Imh0dHBzOi8v5pel5pysLmV4YW1wbGUuY29tL2FwaS91Y3AvbWNwIiwic2NoZW1hIjoiaHR0cHM6Ly91Y3AuZGV2L3NlcnZpY2VzL3Nob3BwaW5nL21jcC5vcGVucnBjLmpzb24iLCJzcGVjIjoiaHR0cHM6Ly91Y3AuZGV2LzIwMjYtMDQtMDgvc3BlY2lmaWNhdGlvbi9vdmVydmlldyIsInRyYW5zcG9ydCI6Im1jcCIsInZlcnNpb24iOiIyMDI2LTA0LTA4In1dfSwidmVyc2lvbiI6IjIwMjYtMDQtMDgifX0.-ODyUIc0JBfNRnuZXLiL2TIQiPSA3QCh5Kfq7VHD8S9EXz2tDXRnUDjKJdzJQliBJV7fVQ2u6CQnj72zKb4tDg" }, "jwks": { "keys": [ @@ -49,7 +49,7 @@ "use": "sig", "crv": "Ed25519", "kty": "OKP", - "x": "D0L5Qdojm2_MWXHiFE7kJTQSqNQyjHeYp7xv-GRDins" + "x": "54imU4B5AuCgP19jq9LRTVJQ7za0A3bH-l4ZH4MZIVk" } ] }, diff --git a/tests/fixtures/cross-lang/py-agentscore-gate-blocked.json b/tests/fixtures/cross-lang/py-agentscore-gate-blocked.json index cfbc4bd..44d3f20 100644 --- a/tests/fixtures/cross-lang/py-agentscore-gate-blocked.json +++ b/tests/fixtures/cross-lang/py-agentscore-gate-blocked.json @@ -44,16 +44,16 @@ "alg": "EdDSA", "use": "sig", "crv": "Ed25519", - "x": "fOtxrTCaPPssNgw4crEHH-LhQ1rYViaxFIcoQKwyCnk" + "x": "xeoP641x_7d6tsI0z5FXt3usrhGKVPvBnTHIqXsMXxY" } ], - "signature": "eyJhbGciOiJFZERTQSIsImtpZCI6InB5LWFnZW50c2NvcmUtZ2F0ZS1ibG9ja2VkLUVkRFNBIiwidHlwIjoiYWdlbnRzY29yZS1wcm9maWxlK2p3cyJ9.eyJzaWduaW5nX2tleXMiOlt7ImFsZyI6IkVkRFNBIiwiY3J2IjoiRWQyNTUxOSIsImtpZCI6InB5LWFnZW50c2NvcmUtZ2F0ZS1ibG9ja2VkLUVkRFNBIiwia3R5IjoiT0tQIiwidXNlIjoic2lnIiwieCI6ImZPdHhyVENhUFBzc05ndzRjckVISC1MaFExcllWaWF4Rkljb1FLd3lDbmsifV0sInVjcCI6eyJjYXBhYmlsaXRpZXMiOnsic2guYWdlbnRzY29yZS5pZGVudGl0eSI6W3siY29uZmlnIjp7ImJsb2NrZWRfanVyaXNkaWN0aW9ucyI6WyJLUCIsIklSIiwiQ1UiXSwicmVxdWlyZV9reWMiOnRydWV9LCJleHRlbmRzIjpbImRldi51Y3Auc2hvcHBpbmcuY2hlY2tvdXQiLCJkZXYudWNwLnNob3BwaW5nLmNhcnQiXSwic2NoZW1hIjoiaHR0cHM6Ly9hZ2VudHNjb3JlLnNoL3NjaGVtYXMvdWNwL3NoLWFnZW50c2NvcmUtaWRlbnRpdHktdjEuanNvbiIsInNwZWMiOiJodHRwczovL2FnZW50c2NvcmUuc2gvc3BlY2lmaWNhdGlvbi9pZGVudGl0eSIsInZlcnNpb24iOiIyMDI2LTA0LTA4In1dfSwibmFtZSI6IkFnZW50U2NvcmUgR2F0ZSBCbG9ja2VkLUp1cmlzZGljdGlvbnMgTWVyY2hhbnQiLCJwYXltZW50X2hhbmRsZXJzIjp7fSwic2VydmljZXMiOnsiZGV2LnVjcC5zaG9wcGluZyI6W3siZW5kcG9pbnQiOiJodHRwczovL3QuZXhhbXBsZS5jb20vYXBpL3VjcC9tY3AiLCJzY2hlbWEiOiJodHRwczovL3VjcC5kZXYvc2VydmljZXMvc2hvcHBpbmcvbWNwLm9wZW5ycGMuanNvbiIsInNwZWMiOiJodHRwczovL3VjcC5kZXYvMjAyNi0wNC0wOC9zcGVjaWZpY2F0aW9uL292ZXJ2aWV3IiwidHJhbnNwb3J0IjoibWNwIiwidmVyc2lvbiI6IjIwMjYtMDQtMDgifV19LCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9fQ.aEUrZSEmCUJeBVQalbGVBHpKszBrD6wXYGsywBBrkw9WXU6MAZ3M5azIMamN50ZcMiBAaa9sAAwMkoRq0kY-AQ" + "signature": "eyJhbGciOiJFZERTQSIsImtpZCI6InB5LWFnZW50c2NvcmUtZ2F0ZS1ibG9ja2VkLUVkRFNBIiwidHlwIjoiYWdlbnRzY29yZS1wcm9maWxlK2p3cyJ9.eyJzaWduaW5nX2tleXMiOlt7ImFsZyI6IkVkRFNBIiwiY3J2IjoiRWQyNTUxOSIsImtpZCI6InB5LWFnZW50c2NvcmUtZ2F0ZS1ibG9ja2VkLUVkRFNBIiwia3R5IjoiT0tQIiwidXNlIjoic2lnIiwieCI6Inhlb1A2NDF4XzdkNnRzSTB6NUZYdDN1c3JoR0tWUHZCblRISXFYc01YeFkifV0sInVjcCI6eyJjYXBhYmlsaXRpZXMiOnsic2guYWdlbnRzY29yZS5pZGVudGl0eSI6W3siY29uZmlnIjp7ImJsb2NrZWRfanVyaXNkaWN0aW9ucyI6WyJLUCIsIklSIiwiQ1UiXSwicmVxdWlyZV9reWMiOnRydWV9LCJleHRlbmRzIjpbImRldi51Y3Auc2hvcHBpbmcuY2hlY2tvdXQiLCJkZXYudWNwLnNob3BwaW5nLmNhcnQiXSwic2NoZW1hIjoiaHR0cHM6Ly9hZ2VudHNjb3JlLmNvbS9zY2hlbWFzL3VjcC9zaC1hZ2VudHNjb3JlLWlkZW50aXR5LXYxLmpzb24iLCJzcGVjIjoiaHR0cHM6Ly9hZ2VudHNjb3JlLmNvbS9zcGVjaWZpY2F0aW9uL2lkZW50aXR5IiwidmVyc2lvbiI6IjIwMjYtMDQtMDgifV19LCJuYW1lIjoiQWdlbnRTY29yZSBHYXRlIEJsb2NrZWQtSnVyaXNkaWN0aW9ucyBNZXJjaGFudCIsInBheW1lbnRfaGFuZGxlcnMiOnt9LCJzZXJ2aWNlcyI6eyJkZXYudWNwLnNob3BwaW5nIjpbeyJlbmRwb2ludCI6Imh0dHBzOi8vdC5leGFtcGxlLmNvbS9hcGkvdWNwL21jcCIsInNjaGVtYSI6Imh0dHBzOi8vdWNwLmRldi9zZXJ2aWNlcy9zaG9wcGluZy9tY3Aub3BlbnJwYy5qc29uIiwic3BlYyI6Imh0dHBzOi8vdWNwLmRldi8yMDI2LTA0LTA4L3NwZWNpZmljYXRpb24vb3ZlcnZpZXciLCJ0cmFuc3BvcnQiOiJtY3AiLCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9XX0sInZlcnNpb24iOiIyMDI2LTA0LTA4In19.wT8tG9ccPopSn9Kmm2vNeoxjpwZLfuaWwTlaZmW8QQB9mXO3Q7io_mqVQSuc-TNUr0-IXpi93stus21bz7P5Cg" }, "jwks": { "keys": [ { "crv": "Ed25519", - "x": "fOtxrTCaPPssNgw4crEHH-LhQ1rYViaxFIcoQKwyCnk", + "x": "xeoP641x_7d6tsI0z5FXt3usrhGKVPvBnTHIqXsMXxY", "kid": "py-agentscore-gate-blocked-EdDSA", "alg": "EdDSA", "use": "sig", diff --git a/tests/fixtures/cross-lang/py-agentscore-gate-full.json b/tests/fixtures/cross-lang/py-agentscore-gate-full.json index 5958e04..8d6334f 100644 --- a/tests/fixtures/cross-lang/py-agentscore-gate-full.json +++ b/tests/fixtures/cross-lang/py-agentscore-gate-full.json @@ -44,16 +44,16 @@ "alg": "EdDSA", "use": "sig", "crv": "Ed25519", - "x": "aBD5Lh0N8r_mgKsde6MWzGc6uucZnrNqWE8oAXRK-XI" + "x": "KkEzDpQvnjKh5dypjg34uY2zIEWZ2PQwOiAdQUAXomo" } ], - "signature": "eyJhbGciOiJFZERTQSIsImtpZCI6InB5LWFnZW50c2NvcmUtZ2F0ZS1mdWxsLUVkRFNBIiwidHlwIjoiYWdlbnRzY29yZS1wcm9maWxlK2p3cyJ9.eyJzaWduaW5nX2tleXMiOlt7ImFsZyI6IkVkRFNBIiwiY3J2IjoiRWQyNTUxOSIsImtpZCI6InB5LWFnZW50c2NvcmUtZ2F0ZS1mdWxsLUVkRFNBIiwia3R5IjoiT0tQIiwidXNlIjoic2lnIiwieCI6ImFCRDVMaDBOOHJfbWdLc2RlNk1XekdjNnV1Y1puck5xV0U4b0FYUkstWEkifV0sInVjcCI6eyJjYXBhYmlsaXRpZXMiOnsic2guYWdlbnRzY29yZS5pZGVudGl0eSI6W3siY29uZmlnIjp7ImFsbG93ZWRfanVyaXNkaWN0aW9ucyI6WyJVUyJdLCJtaW5fYWdlIjoyMSwicmVxdWlyZV9reWMiOnRydWUsInJlcXVpcmVfc2FuY3Rpb25zX2NsZWFyIjp0cnVlfSwiZXh0ZW5kcyI6WyJkZXYudWNwLnNob3BwaW5nLmNoZWNrb3V0IiwiZGV2LnVjcC5zaG9wcGluZy5jYXJ0Il0sInNjaGVtYSI6Imh0dHBzOi8vYWdlbnRzY29yZS5zaC9zY2hlbWFzL3VjcC9zaC1hZ2VudHNjb3JlLWlkZW50aXR5LXYxLmpzb24iLCJzcGVjIjoiaHR0cHM6Ly9hZ2VudHNjb3JlLnNoL3NwZWNpZmljYXRpb24vaWRlbnRpdHkiLCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9XX0sIm5hbWUiOiJBZ2VudFNjb3JlIEdhdGUgRnVsbC1Qb2xpY3kgTWVyY2hhbnQiLCJwYXltZW50X2hhbmRsZXJzIjp7fSwic2VydmljZXMiOnsiZGV2LnVjcC5zaG9wcGluZyI6W3siZW5kcG9pbnQiOiJodHRwczovL2QuZXhhbXBsZS5jb20vYXBpL3VjcC9tY3AiLCJzY2hlbWEiOiJodHRwczovL3VjcC5kZXYvc2VydmljZXMvc2hvcHBpbmcvbWNwLm9wZW5ycGMuanNvbiIsInNwZWMiOiJodHRwczovL3VjcC5kZXYvMjAyNi0wNC0wOC9zcGVjaWZpY2F0aW9uL292ZXJ2aWV3IiwidHJhbnNwb3J0IjoibWNwIiwidmVyc2lvbiI6IjIwMjYtMDQtMDgifV19LCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9fQ.5CvH3TLesVMunm0gIdZ6O69XXhBV_whX6ed6HeMCFFHUiVopM2c39H9ZWqjyIQu-CAGJgUgH88nx_UOvDVoEAQ" + "signature": "eyJhbGciOiJFZERTQSIsImtpZCI6InB5LWFnZW50c2NvcmUtZ2F0ZS1mdWxsLUVkRFNBIiwidHlwIjoiYWdlbnRzY29yZS1wcm9maWxlK2p3cyJ9.eyJzaWduaW5nX2tleXMiOlt7ImFsZyI6IkVkRFNBIiwiY3J2IjoiRWQyNTUxOSIsImtpZCI6InB5LWFnZW50c2NvcmUtZ2F0ZS1mdWxsLUVkRFNBIiwia3R5IjoiT0tQIiwidXNlIjoic2lnIiwieCI6IktrRXpEcFF2bmpLaDVkeXBqZzM0dVkyeklFV1oyUFF3T2lBZFFVQVhvbW8ifV0sInVjcCI6eyJjYXBhYmlsaXRpZXMiOnsic2guYWdlbnRzY29yZS5pZGVudGl0eSI6W3siY29uZmlnIjp7ImFsbG93ZWRfanVyaXNkaWN0aW9ucyI6WyJVUyJdLCJtaW5fYWdlIjoyMSwicmVxdWlyZV9reWMiOnRydWUsInJlcXVpcmVfc2FuY3Rpb25zX2NsZWFyIjp0cnVlfSwiZXh0ZW5kcyI6WyJkZXYudWNwLnNob3BwaW5nLmNoZWNrb3V0IiwiZGV2LnVjcC5zaG9wcGluZy5jYXJ0Il0sInNjaGVtYSI6Imh0dHBzOi8vYWdlbnRzY29yZS5jb20vc2NoZW1hcy91Y3Avc2gtYWdlbnRzY29yZS1pZGVudGl0eS12MS5qc29uIiwic3BlYyI6Imh0dHBzOi8vYWdlbnRzY29yZS5jb20vc3BlY2lmaWNhdGlvbi9pZGVudGl0eSIsInZlcnNpb24iOiIyMDI2LTA0LTA4In1dfSwibmFtZSI6IkFnZW50U2NvcmUgR2F0ZSBGdWxsLVBvbGljeSBNZXJjaGFudCIsInBheW1lbnRfaGFuZGxlcnMiOnt9LCJzZXJ2aWNlcyI6eyJkZXYudWNwLnNob3BwaW5nIjpbeyJlbmRwb2ludCI6Imh0dHBzOi8vZC5leGFtcGxlLmNvbS9hcGkvdWNwL21jcCIsInNjaGVtYSI6Imh0dHBzOi8vdWNwLmRldi9zZXJ2aWNlcy9zaG9wcGluZy9tY3Aub3BlbnJwYy5qc29uIiwic3BlYyI6Imh0dHBzOi8vdWNwLmRldi8yMDI2LTA0LTA4L3NwZWNpZmljYXRpb24vb3ZlcnZpZXciLCJ0cmFuc3BvcnQiOiJtY3AiLCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9XX0sInZlcnNpb24iOiIyMDI2LTA0LTA4In19.mwv23KJc1YBsCLIXfdlmYP73FGUN3Lt0YhODkdnSoLNqr51-y3IiiQvKchYKP3WxgVxSZBw321xHz9lU1iWxAg" }, "jwks": { "keys": [ { "crv": "Ed25519", - "x": "aBD5Lh0N8r_mgKsde6MWzGc6uucZnrNqWE8oAXRK-XI", + "x": "KkEzDpQvnjKh5dypjg34uY2zIEWZ2PQwOiAdQUAXomo", "kid": "py-agentscore-gate-full-EdDSA", "alg": "EdDSA", "use": "sig", diff --git a/tests/fixtures/cross-lang/py-capability.json b/tests/fixtures/cross-lang/py-capability.json index 2d4ee32..e68e484 100644 --- a/tests/fixtures/cross-lang/py-capability.json +++ b/tests/fixtures/cross-lang/py-capability.json @@ -46,16 +46,16 @@ "alg": "EdDSA", "use": "sig", "crv": "Ed25519", - "x": "Z3bx48mm2PDFs4CMrGQqFLOh3bGQXpyyVlnOdrdhcTw" + "x": "u9g_azDgCsWedLtkJxiQNPLBvr1-I3Q-frmGcU9sUso" } ], - "signature": "eyJhbGciOiJFZERTQSIsImtpZCI6InB5LWNhcGFiaWxpdHktRWREU0EiLCJ0eXAiOiJhZ2VudHNjb3JlLXByb2ZpbGUrandzIn0.eyJzaWduaW5nX2tleXMiOlt7ImFsZyI6IkVkRFNBIiwiY3J2IjoiRWQyNTUxOSIsImtpZCI6InB5LWNhcGFiaWxpdHktRWREU0EiLCJrdHkiOiJPS1AiLCJ1c2UiOiJzaWciLCJ4IjoiWjNieDQ4bW0yUERGczRDTXJHUXFGTE9oM2JHUVhweXlWbG5PZHJkaGNUdyJ9XSwidWNwIjp7ImNhcGFiaWxpdGllcyI6eyJzaC5hZ2VudHNjb3JlLmlkZW50aXR5IjpbeyJreWNfcmVxdWlyZWQiOnRydWUsInNjaGVtYSI6Imh0dHBzOi8vYWdlbnRzY29yZS5zaC9zY2hlbWFzL3VjcC9zaC1hZ2VudHNjb3JlLWlkZW50aXR5LXYxLmpzb24iLCJzcGVjIjoiaHR0cHM6Ly9hZ2VudHNjb3JlLnNoL3NwZWNpZmljYXRpb24vaWRlbnRpdHkiLCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9XX0sIm5hbWUiOiJDYXBhYmlsaXR5IE1lcmNoYW50IiwicGF5bWVudF9oYW5kbGVycyI6eyJzaC5hZ2VudHNjb3JlLnBheW1lbnQudGVtcG8iOlt7ImNvbmZpZyI6eyJjaGFpbl9pZCI6NDIxNywicmFpbCI6InRlbXBvLW1haW5uZXQifSwiaWQiOiJ0ZW1wbyIsInNjaGVtYSI6Imh0dHBzOi8vYWdlbnRzY29yZS5zaC9zY2hlbWFzL3BheW1lbnQtaGFuZGxlcnMvdGVtcG8uanNvbiIsInNwZWMiOiJodHRwczovL2FnZW50c2NvcmUuc2gvc3BlY2lmaWNhdGlvbi9wYXltZW50LWhhbmRsZXJzL3RlbXBvIiwidmVyc2lvbiI6IjIwMjYtMDQtMDgifV19LCJzZXJ2aWNlcyI6eyJkZXYudWNwLnNob3BwaW5nIjpbeyJlbmRwb2ludCI6Imh0dHBzOi8vYy5leGFtcGxlLmNvbS9hcGkvdWNwL21jcCIsInNjaGVtYSI6Imh0dHBzOi8vdWNwLmRldi9zZXJ2aWNlcy9zaG9wcGluZy9tY3Aub3BlbnJwYy5qc29uIiwic3BlYyI6Imh0dHBzOi8vdWNwLmRldi8yMDI2LTA0LTA4L3NwZWNpZmljYXRpb24vb3ZlcnZpZXciLCJ0cmFuc3BvcnQiOiJtY3AiLCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9XX0sInZlcnNpb24iOiIyMDI2LTA0LTA4In19.Ui_HdO8qTMw7F8dqyQesfL1tXjbtliq0XSavarpW82WYu4E6dQ32ufH-f4p5RTbnY0m-Fn1zmqoA6RrZFzvjBA" + "signature": "eyJhbGciOiJFZERTQSIsImtpZCI6InB5LWNhcGFiaWxpdHktRWREU0EiLCJ0eXAiOiJhZ2VudHNjb3JlLXByb2ZpbGUrandzIn0.eyJzaWduaW5nX2tleXMiOlt7ImFsZyI6IkVkRFNBIiwiY3J2IjoiRWQyNTUxOSIsImtpZCI6InB5LWNhcGFiaWxpdHktRWREU0EiLCJrdHkiOiJPS1AiLCJ1c2UiOiJzaWciLCJ4IjoidTlnX2F6RGdDc1dlZEx0a0p4aVFOUExCdnIxLUkzUS1mcm1HY1U5c1VzbyJ9XSwidWNwIjp7ImNhcGFiaWxpdGllcyI6eyJzaC5hZ2VudHNjb3JlLmlkZW50aXR5IjpbeyJreWNfcmVxdWlyZWQiOnRydWUsInNjaGVtYSI6Imh0dHBzOi8vYWdlbnRzY29yZS5jb20vc2NoZW1hcy91Y3Avc2gtYWdlbnRzY29yZS1pZGVudGl0eS12MS5qc29uIiwic3BlYyI6Imh0dHBzOi8vYWdlbnRzY29yZS5jb20vc3BlY2lmaWNhdGlvbi9pZGVudGl0eSIsInZlcnNpb24iOiIyMDI2LTA0LTA4In1dfSwibmFtZSI6IkNhcGFiaWxpdHkgTWVyY2hhbnQiLCJwYXltZW50X2hhbmRsZXJzIjp7InNoLmFnZW50c2NvcmUucGF5bWVudC50ZW1wbyI6W3siY29uZmlnIjp7ImNoYWluX2lkIjo0MjE3LCJyYWlsIjoidGVtcG8tbWFpbm5ldCJ9LCJpZCI6InRlbXBvIiwic2NoZW1hIjoiaHR0cHM6Ly9hZ2VudHNjb3JlLmNvbS9zY2hlbWFzL3BheW1lbnQtaGFuZGxlcnMvdGVtcG8uanNvbiIsInNwZWMiOiJodHRwczovL2FnZW50c2NvcmUuY29tL3NwZWNpZmljYXRpb24vcGF5bWVudC1oYW5kbGVycy90ZW1wbyIsInZlcnNpb24iOiIyMDI2LTA0LTA4In1dfSwic2VydmljZXMiOnsiZGV2LnVjcC5zaG9wcGluZyI6W3siZW5kcG9pbnQiOiJodHRwczovL2MuZXhhbXBsZS5jb20vYXBpL3VjcC9tY3AiLCJzY2hlbWEiOiJodHRwczovL3VjcC5kZXYvc2VydmljZXMvc2hvcHBpbmcvbWNwLm9wZW5ycGMuanNvbiIsInNwZWMiOiJodHRwczovL3VjcC5kZXYvMjAyNi0wNC0wOC9zcGVjaWZpY2F0aW9uL292ZXJ2aWV3IiwidHJhbnNwb3J0IjoibWNwIiwidmVyc2lvbiI6IjIwMjYtMDQtMDgifV19LCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9fQ.DYuK8fmkkg23kh93J-zRq7_cLVyXcHa92_K2iRoI9MK41udj0yXPSwfdr9ofeZSVXFATYD6W_xNIPtNv1rJlBw" }, "jwks": { "keys": [ { "crv": "Ed25519", - "x": "Z3bx48mm2PDFs4CMrGQqFLOh3bGQXpyyVlnOdrdhcTw", + "x": "u9g_azDgCsWedLtkJxiQNPLBvr1-I3Q-frmGcU9sUso", "kid": "py-capability-EdDSA", "alg": "EdDSA", "use": "sig", diff --git a/tests/fixtures/cross-lang/py-emoji-keys.json b/tests/fixtures/cross-lang/py-emoji-keys.json index 777fe70..3bcfa3e 100644 --- a/tests/fixtures/cross-lang/py-emoji-keys.json +++ b/tests/fixtures/cross-lang/py-emoji-keys.json @@ -33,20 +33,20 @@ "alg": "EdDSA", "use": "sig", "crv": "Ed25519", - "x": "5jwR2Mfvr9NN8HA4unDfW26CeV7NGphYgB99UN30RjA" + "x": "ZEFrV9Jq_p4RCx1puicoUHZGvcBiyr0qe9kyoPWGIjM" } ], "a": 1, "豈": 2, "": 3, "🍷": 4, - "signature": "eyJhbGciOiJFZERTQSIsImtpZCI6InB5LWVtb2ppLWtleXMtRWREU0EiLCJ0eXAiOiJhZ2VudHNjb3JlLXByb2ZpbGUrandzIn0.eyIiOjMsImEiOjEsInNpZ25pbmdfa2V5cyI6W3siYWxnIjoiRWREU0EiLCJjcnYiOiJFZDI1NTE5Iiwia2lkIjoicHktZW1vamkta2V5cy1FZERTQSIsImt0eSI6Ik9LUCIsInVzZSI6InNpZyIsIngiOiI1andSMk1mdnI5Tk44SEE0dW5EZlcyNkNlVjdOR3BoWWdCOTlVTjMwUmpBIn1dLCJ1Y3AiOnsiY2FwYWJpbGl0aWVzIjp7fSwibmFtZSI6IkVtb2ppIEtleXMgTWVyY2hhbnQiLCJwYXltZW50X2hhbmRsZXJzIjp7InNoLmFnZW50c2NvcmUucGF5bWVudC50ZW1wbyI6W3siaWQiOiJ0ZW1wbyIsInNjaGVtYSI6Imh0dHBzOi8vYWdlbnRzY29yZS5zaC9zY2hlbWFzL3BheW1lbnQtaGFuZGxlcnMvdGVtcG8uanNvbiIsInNwZWMiOiJodHRwczovL2FnZW50c2NvcmUuc2gvc3BlY2lmaWNhdGlvbi9wYXltZW50LWhhbmRsZXJzL3RlbXBvIiwidmVyc2lvbiI6IjIwMjYtMDQtMDgifV19LCJzZXJ2aWNlcyI6eyJkZXYudWNwLnNob3BwaW5nIjpbeyJlbmRwb2ludCI6Imh0dHBzOi8vZW1vamkuZXhhbXBsZS5jb20vYXBpL3VjcC9tY3AiLCJzY2hlbWEiOiJodHRwczovL3VjcC5kZXYvc2VydmljZXMvc2hvcHBpbmcvbWNwLm9wZW5ycGMuanNvbiIsInNwZWMiOiJodHRwczovL3VjcC5kZXYvMjAyNi0wNC0wOC9zcGVjaWZpY2F0aW9uL292ZXJ2aWV3IiwidHJhbnNwb3J0IjoibWNwIiwidmVyc2lvbiI6IjIwMjYtMDQtMDgifV19LCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9LCLosYgiOjIsIvCfjbciOjR9.imiZGrpdtj66SFOnikz57UPVVNK6hIxTUYND7BvTkY9Sb2FA2kVLkpAYpiuC3YJmlsBhgGuRXFm9xI-GozGECQ" + "signature": "eyJhbGciOiJFZERTQSIsImtpZCI6InB5LWVtb2ppLWtleXMtRWREU0EiLCJ0eXAiOiJhZ2VudHNjb3JlLXByb2ZpbGUrandzIn0.eyIiOjMsImEiOjEsInNpZ25pbmdfa2V5cyI6W3siYWxnIjoiRWREU0EiLCJjcnYiOiJFZDI1NTE5Iiwia2lkIjoicHktZW1vamkta2V5cy1FZERTQSIsImt0eSI6Ik9LUCIsInVzZSI6InNpZyIsIngiOiJaRUZyVjlKcV9wNFJDeDFwdWljb1VIWkd2Y0JpeXIwcWU5a3lvUFdHSWpNIn1dLCJ1Y3AiOnsiY2FwYWJpbGl0aWVzIjp7fSwibmFtZSI6IkVtb2ppIEtleXMgTWVyY2hhbnQiLCJwYXltZW50X2hhbmRsZXJzIjp7InNoLmFnZW50c2NvcmUucGF5bWVudC50ZW1wbyI6W3siaWQiOiJ0ZW1wbyIsInNjaGVtYSI6Imh0dHBzOi8vYWdlbnRzY29yZS5jb20vc2NoZW1hcy9wYXltZW50LWhhbmRsZXJzL3RlbXBvLmpzb24iLCJzcGVjIjoiaHR0cHM6Ly9hZ2VudHNjb3JlLmNvbS9zcGVjaWZpY2F0aW9uL3BheW1lbnQtaGFuZGxlcnMvdGVtcG8iLCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9XX0sInNlcnZpY2VzIjp7ImRldi51Y3Auc2hvcHBpbmciOlt7ImVuZHBvaW50IjoiaHR0cHM6Ly9lbW9qaS5leGFtcGxlLmNvbS9hcGkvdWNwL21jcCIsInNjaGVtYSI6Imh0dHBzOi8vdWNwLmRldi9zZXJ2aWNlcy9zaG9wcGluZy9tY3Aub3BlbnJwYy5qc29uIiwic3BlYyI6Imh0dHBzOi8vdWNwLmRldi8yMDI2LTA0LTA4L3NwZWNpZmljYXRpb24vb3ZlcnZpZXciLCJ0cmFuc3BvcnQiOiJtY3AiLCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9XX0sInZlcnNpb24iOiIyMDI2LTA0LTA4In0sIuixiCI6Miwi8J-NtyI6NH0.UY6Cl02fs8oX7bX2mzww2A94g3nJHpaf0sELU4Q-tS5uwTjO4lwsa16U9573rK0XCf45lkBbIeORghUoYsTgAw" }, "jwks": { "keys": [ { "crv": "Ed25519", - "x": "5jwR2Mfvr9NN8HA4unDfW26CeV7NGphYgB99UN30RjA", + "x": "ZEFrV9Jq_p4RCx1puicoUHZGvcBiyr0qe9kyoPWGIjM", "kid": "py-emoji-keys-EdDSA", "alg": "EdDSA", "use": "sig", diff --git a/tests/fixtures/cross-lang/py-es256-rails.json b/tests/fixtures/cross-lang/py-es256-rails.json index c60848a..c8a3d31 100644 --- a/tests/fixtures/cross-lang/py-es256-rails.json +++ b/tests/fixtures/cross-lang/py-es256-rails.json @@ -56,18 +56,18 @@ "alg": "ES256", "use": "sig", "crv": "P-256", - "x": "ZIZsqfrM8QSJIqSf1VGd4IhebR50aZph8I8NZmJnK78", - "y": "6QkiYzx-xUckq_sH8gIzE8yPcqzTWVdIWp6JLReIMqE" + "x": "JXf2w3qJHX1PO9sZbsn7mnBfBelFxbQTGJkzCvrEAFE", + "y": "Te-S3293slJNkQPhlLeAdZBni2SdoJ5DNkzOCM8o1lc" } ], - "signature": "eyJhbGciOiJFUzI1NiIsImtpZCI6InB5LWVzMjU2LXJhaWxzLUVTMjU2IiwidHlwIjoiYWdlbnRzY29yZS1wcm9maWxlK2p3cyJ9.eyJzaWduaW5nX2tleXMiOlt7ImFsZyI6IkVTMjU2IiwiY3J2IjoiUC0yNTYiLCJraWQiOiJweS1lczI1Ni1yYWlscy1FUzI1NiIsImt0eSI6IkVDIiwidXNlIjoic2lnIiwieCI6IlpJWnNxZnJNOFFTSklxU2YxVkdkNEloZWJSNTBhWnBoOEk4TlptSm5LNzgiLCJ5IjoiNlFraVl6eC14VWNrcV9zSDhnSXpFOHlQY3F6VFdWZElXcDZKTFJlSU1xRSJ9XSwidWNwIjp7ImNhcGFiaWxpdGllcyI6e30sIm5hbWUiOiJFUzI1NiBNZXJjaGFudCIsInBheW1lbnRfaGFuZGxlcnMiOnsic2guYWdlbnRzY29yZS5wYXltZW50LnRlbXBvIjpbeyJjb25maWciOnsiY2hhaW5faWQiOjQyMTcsInJhaWwiOiJ0ZW1wby1tYWlubmV0In0sImlkIjoidGVtcG8iLCJzY2hlbWEiOiJodHRwczovL2FnZW50c2NvcmUuc2gvc2NoZW1hcy9wYXltZW50LWhhbmRsZXJzL3RlbXBvLmpzb24iLCJzcGVjIjoiaHR0cHM6Ly9hZ2VudHNjb3JlLnNoL3NwZWNpZmljYXRpb24vcGF5bWVudC1oYW5kbGVycy90ZW1wbyIsInZlcnNpb24iOiIyMDI2LTA0LTA4In1dLCJzaC5hZ2VudHNjb3JlLnBheW1lbnQueDQwMiI6W3siY29uZmlnIjp7Im5ldHdvcmtzIjpbImJhc2UtODQ1MyJdfSwiaWQiOiJ4NDAyIiwic2NoZW1hIjoiaHR0cHM6Ly9hZ2VudHNjb3JlLnNoL3NjaGVtYXMvcGF5bWVudC1oYW5kbGVycy94NDAyLmpzb24iLCJzcGVjIjoiaHR0cHM6Ly9hZ2VudHNjb3JlLnNoL3NwZWNpZmljYXRpb24vcGF5bWVudC1oYW5kbGVycy94NDAyIiwidmVyc2lvbiI6IjIwMjYtMDQtMDgifV19LCJzZXJ2aWNlcyI6eyJkZXYudWNwLnNob3BwaW5nIjpbeyJlbmRwb2ludCI6Imh0dHBzOi8vYS5leGFtcGxlLmNvbS9hcGkvdWNwL21jcCIsInNjaGVtYSI6Imh0dHBzOi8vdWNwLmRldi9zZXJ2aWNlcy9zaG9wcGluZy9tY3Aub3BlbnJwYy5qc29uIiwic3BlYyI6Imh0dHBzOi8vdWNwLmRldi8yMDI2LTA0LTA4L3NwZWNpZmljYXRpb24vb3ZlcnZpZXciLCJ0cmFuc3BvcnQiOiJtY3AiLCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9LHsiZW5kcG9pbnQiOiJodHRwczovL2EuZXhhbXBsZS5jb20vLndlbGwta25vd24vYWdlbnQtY2FyZC5qc29uIiwic3BlYyI6Imh0dHBzOi8vdWNwLmRldi8yMDI2LTA0LTA4L3NwZWNpZmljYXRpb24vb3ZlcnZpZXciLCJ0cmFuc3BvcnQiOiJhMmEiLCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9XX0sInZlcnNpb24iOiIyMDI2LTA0LTA4In19.d1eH6jLjcW-D9evPQT0ZndJh6HLhYhF-6E6Muvl7y7HUezTV6EgVzaI3hWJrnCphfm-eJ5BIXNJLSG6YjFEyyw" + "signature": "eyJhbGciOiJFUzI1NiIsImtpZCI6InB5LWVzMjU2LXJhaWxzLUVTMjU2IiwidHlwIjoiYWdlbnRzY29yZS1wcm9maWxlK2p3cyJ9.eyJzaWduaW5nX2tleXMiOlt7ImFsZyI6IkVTMjU2IiwiY3J2IjoiUC0yNTYiLCJraWQiOiJweS1lczI1Ni1yYWlscy1FUzI1NiIsImt0eSI6IkVDIiwidXNlIjoic2lnIiwieCI6IkpYZjJ3M3FKSFgxUE85c1pic243bW5CZkJlbEZ4YlFUR0prekN2ckVBRkUiLCJ5IjoiVGUtUzMyOTNzbEpOa1FQaGxMZUFkWkJuaTJTZG9KNUROa3pPQ004bzFsYyJ9XSwidWNwIjp7ImNhcGFiaWxpdGllcyI6e30sIm5hbWUiOiJFUzI1NiBNZXJjaGFudCIsInBheW1lbnRfaGFuZGxlcnMiOnsic2guYWdlbnRzY29yZS5wYXltZW50LnRlbXBvIjpbeyJjb25maWciOnsiY2hhaW5faWQiOjQyMTcsInJhaWwiOiJ0ZW1wby1tYWlubmV0In0sImlkIjoidGVtcG8iLCJzY2hlbWEiOiJodHRwczovL2FnZW50c2NvcmUuY29tL3NjaGVtYXMvcGF5bWVudC1oYW5kbGVycy90ZW1wby5qc29uIiwic3BlYyI6Imh0dHBzOi8vYWdlbnRzY29yZS5jb20vc3BlY2lmaWNhdGlvbi9wYXltZW50LWhhbmRsZXJzL3RlbXBvIiwidmVyc2lvbiI6IjIwMjYtMDQtMDgifV0sInNoLmFnZW50c2NvcmUucGF5bWVudC54NDAyIjpbeyJjb25maWciOnsibmV0d29ya3MiOlsiYmFzZS04NDUzIl19LCJpZCI6Ing0MDIiLCJzY2hlbWEiOiJodHRwczovL2FnZW50c2NvcmUuY29tL3NjaGVtYXMvcGF5bWVudC1oYW5kbGVycy94NDAyLmpzb24iLCJzcGVjIjoiaHR0cHM6Ly9hZ2VudHNjb3JlLmNvbS9zcGVjaWZpY2F0aW9uL3BheW1lbnQtaGFuZGxlcnMveDQwMiIsInZlcnNpb24iOiIyMDI2LTA0LTA4In1dfSwic2VydmljZXMiOnsiZGV2LnVjcC5zaG9wcGluZyI6W3siZW5kcG9pbnQiOiJodHRwczovL2EuZXhhbXBsZS5jb20vYXBpL3VjcC9tY3AiLCJzY2hlbWEiOiJodHRwczovL3VjcC5kZXYvc2VydmljZXMvc2hvcHBpbmcvbWNwLm9wZW5ycGMuanNvbiIsInNwZWMiOiJodHRwczovL3VjcC5kZXYvMjAyNi0wNC0wOC9zcGVjaWZpY2F0aW9uL292ZXJ2aWV3IiwidHJhbnNwb3J0IjoibWNwIiwidmVyc2lvbiI6IjIwMjYtMDQtMDgifSx7ImVuZHBvaW50IjoiaHR0cHM6Ly9hLmV4YW1wbGUuY29tLy53ZWxsLWtub3duL2FnZW50LWNhcmQuanNvbiIsInNwZWMiOiJodHRwczovL3VjcC5kZXYvMjAyNi0wNC0wOC9zcGVjaWZpY2F0aW9uL292ZXJ2aWV3IiwidHJhbnNwb3J0IjoiYTJhIiwidmVyc2lvbiI6IjIwMjYtMDQtMDgifV19LCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9fQ.7Povt1aJMY4hpazgBK3Y5HEh6WVuhQPISLPB4of5I2rVMsoG0NZBNThfavpu4l9hn8QBjRMJmJqrknkGiCerdw" }, "jwks": { "keys": [ { "crv": "P-256", - "x": "ZIZsqfrM8QSJIqSf1VGd4IhebR50aZph8I8NZmJnK78", - "y": "6QkiYzx-xUckq_sH8gIzE8yPcqzTWVdIWp6JLReIMqE", + "x": "JXf2w3qJHX1PO9sZbsn7mnBfBelFxbQTGJkzCvrEAFE", + "y": "Te-S3293slJNkQPhlLeAdZBni2SdoJ5DNkzOCM8o1lc", "kid": "py-es256-rails-ES256", "alg": "ES256", "use": "sig", diff --git a/tests/fixtures/cross-lang/py-extras-int.json b/tests/fixtures/cross-lang/py-extras-int.json index 349d0df..9cab9ae 100644 --- a/tests/fixtures/cross-lang/py-extras-int.json +++ b/tests/fixtures/cross-lang/py-extras-int.json @@ -37,16 +37,16 @@ "alg": "EdDSA", "use": "sig", "crv": "Ed25519", - "x": "JPj_2h7DSZ8tnCrNQFCr3mLfWTI5KASQJ6MZpd9HAZw" + "x": "SBKDf4t_IeTBl8Nw9rnAcP_G7lnbLYhKh2kLkEgsRx8" } ], - "signature": "eyJhbGciOiJFZERTQSIsImtpZCI6InB5LWV4dHJhcy1pbnQtRWREU0EiLCJ0eXAiOiJhZ2VudHNjb3JlLXByb2ZpbGUrandzIn0.eyJzaWduaW5nX2tleXMiOlt7ImFsZyI6IkVkRFNBIiwiY3J2IjoiRWQyNTUxOSIsImtpZCI6InB5LWV4dHJhcy1pbnQtRWREU0EiLCJrdHkiOiJPS1AiLCJ1c2UiOiJzaWciLCJ4IjoiSlBqXzJoN0RTWjh0bkNyTlFGQ3IzbUxmV1RJNUtBU1FKNk1acGQ5SEFadyJ9XSwidWNwIjp7ImNhcGFiaWxpdGllcyI6e30sIm5hbWUiOiJFeHRyYXMgTWVyY2hhbnQiLCJwYXltZW50X2hhbmRsZXJzIjp7InNoLmFnZW50c2NvcmUucGF5bWVudC5zdHJpcGVfc3B0IjpbeyJjb25maWciOnsiY291bnQiOjcsInByb2ZpbGVfaWQiOiJhYmMifSwiaWQiOiJzdHJpcGUiLCJzY2hlbWEiOiJodHRwczovL2FnZW50c2NvcmUuc2gvc2NoZW1hcy9wYXltZW50LWhhbmRsZXJzL3N0cmlwZV9zcHQuanNvbiIsInNwZWMiOiJodHRwczovL2FnZW50c2NvcmUuc2gvc3BlY2lmaWNhdGlvbi9wYXltZW50LWhhbmRsZXJzL3N0cmlwZV9zcHQiLCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9XX0sInNlcnZpY2VzIjp7ImRldi51Y3Auc2hvcHBpbmciOlt7ImVuZHBvaW50IjoiaHR0cHM6Ly9lLmV4YW1wbGUuY29tL2FwaS91Y3AvbWNwIiwic2NoZW1hIjoiaHR0cHM6Ly91Y3AuZGV2L3NlcnZpY2VzL3Nob3BwaW5nL21jcC5vcGVucnBjLmpzb24iLCJzcGVjIjoiaHR0cHM6Ly91Y3AuZGV2LzIwMjYtMDQtMDgvc3BlY2lmaWNhdGlvbi9vdmVydmlldyIsInRyYW5zcG9ydCI6Im1jcCIsInZlcnNpb24iOiIyMDI2LTA0LTA4In1dfSwidmVyc2lvbiI6IjIwMjYtMDQtMDgifX0.Y2-Ji_NtxMY1CFY8oiQiac4NBXvYWr4hrza54Tzx6OU85ZCiZPk_lKjdaEiSc2YA1e8aihc9-x_ZXZZ4_xrhCA" + "signature": "eyJhbGciOiJFZERTQSIsImtpZCI6InB5LWV4dHJhcy1pbnQtRWREU0EiLCJ0eXAiOiJhZ2VudHNjb3JlLXByb2ZpbGUrandzIn0.eyJzaWduaW5nX2tleXMiOlt7ImFsZyI6IkVkRFNBIiwiY3J2IjoiRWQyNTUxOSIsImtpZCI6InB5LWV4dHJhcy1pbnQtRWREU0EiLCJrdHkiOiJPS1AiLCJ1c2UiOiJzaWciLCJ4IjoiU0JLRGY0dF9JZVRCbDhOdzlybkFjUF9HN2xuYkxZaEtoMmtMa0Vnc1J4OCJ9XSwidWNwIjp7ImNhcGFiaWxpdGllcyI6e30sIm5hbWUiOiJFeHRyYXMgTWVyY2hhbnQiLCJwYXltZW50X2hhbmRsZXJzIjp7InNoLmFnZW50c2NvcmUucGF5bWVudC5zdHJpcGVfc3B0IjpbeyJjb25maWciOnsiY291bnQiOjcsInByb2ZpbGVfaWQiOiJhYmMifSwiaWQiOiJzdHJpcGUiLCJzY2hlbWEiOiJodHRwczovL2FnZW50c2NvcmUuY29tL3NjaGVtYXMvcGF5bWVudC1oYW5kbGVycy9zdHJpcGVfc3B0Lmpzb24iLCJzcGVjIjoiaHR0cHM6Ly9hZ2VudHNjb3JlLmNvbS9zcGVjaWZpY2F0aW9uL3BheW1lbnQtaGFuZGxlcnMvc3RyaXBlX3NwdCIsInZlcnNpb24iOiIyMDI2LTA0LTA4In1dfSwic2VydmljZXMiOnsiZGV2LnVjcC5zaG9wcGluZyI6W3siZW5kcG9pbnQiOiJodHRwczovL2UuZXhhbXBsZS5jb20vYXBpL3VjcC9tY3AiLCJzY2hlbWEiOiJodHRwczovL3VjcC5kZXYvc2VydmljZXMvc2hvcHBpbmcvbWNwLm9wZW5ycGMuanNvbiIsInNwZWMiOiJodHRwczovL3VjcC5kZXYvMjAyNi0wNC0wOC9zcGVjaWZpY2F0aW9uL292ZXJ2aWV3IiwidHJhbnNwb3J0IjoibWNwIiwidmVyc2lvbiI6IjIwMjYtMDQtMDgifV19LCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9fQ.ngx5uD1l72Fv0-mwT8UTgEH2Kt4bMDnzXYJSOPiiBC3DxkL6lrNGskzsXoUEY032QADc4qZSO4neC2WAI2U5CQ" }, "jwks": { "keys": [ { "crv": "Ed25519", - "x": "JPj_2h7DSZ8tnCrNQFCr3mLfWTI5KASQJ6MZpd9HAZw", + "x": "SBKDf4t_IeTBl8Nw9rnAcP_G7lnbLYhKh2kLkEgsRx8", "kid": "py-extras-int-EdDSA", "alg": "EdDSA", "use": "sig", diff --git a/tests/fixtures/cross-lang/py-int-boundary.json b/tests/fixtures/cross-lang/py-int-boundary.json index f8115f2..54e0fa6 100644 --- a/tests/fixtures/cross-lang/py-int-boundary.json +++ b/tests/fixtures/cross-lang/py-int-boundary.json @@ -24,7 +24,7 @@ "alg": "EdDSA", "use": "sig", "crv": "Ed25519", - "x": "9tbm2c88gZyFzzDyfI0A-yfbB4xzu6m9pAWy0Ln3lNI" + "x": "OQi97mKW-B7_I3ul9t2sqGCn6ZA74aANaKvDvjOw8-4" } ], "max_safe_int": 9007199254740991, @@ -32,13 +32,13 @@ "small_int": 42, "neg_small_int": -42, "zero": 0, - "signature": "eyJhbGciOiJFZERTQSIsImtpZCI6InB5LWludC1ib3VuZGFyeS1FZERTQSIsInR5cCI6ImFnZW50c2NvcmUtcHJvZmlsZStqd3MifQ.eyJtYXhfc2FmZV9pbnQiOjkwMDcxOTkyNTQ3NDA5OTEsIm1pbl9zYWZlX2ludCI6LTkwMDcxOTkyNTQ3NDA5OTEsIm5lZ19zbWFsbF9pbnQiOi00Miwic2lnbmluZ19rZXlzIjpbeyJhbGciOiJFZERTQSIsImNydiI6IkVkMjU1MTkiLCJraWQiOiJweS1pbnQtYm91bmRhcnktRWREU0EiLCJrdHkiOiJPS1AiLCJ1c2UiOiJzaWciLCJ4IjoiOXRibTJjODhnWnlGenpEeWZJMEEteWZiQjR4enU2bTlwQVd5MExuM2xOSSJ9XSwic21hbGxfaW50Ijo0MiwidWNwIjp7ImNhcGFiaWxpdGllcyI6e30sIm5hbWUiOiJJbnQgQm91bmRhcnkgTWVyY2hhbnQiLCJwYXltZW50X2hhbmRsZXJzIjp7fSwic2VydmljZXMiOnsiZGV2LnVjcC5zaG9wcGluZyI6W3siZW5kcG9pbnQiOiJodHRwczovL2kuZXhhbXBsZS5jb20vYXBpL3VjcC9tY3AiLCJzY2hlbWEiOiJodHRwczovL3VjcC5kZXYvc2VydmljZXMvc2hvcHBpbmcvbWNwLm9wZW5ycGMuanNvbiIsInNwZWMiOiJodHRwczovL3VjcC5kZXYvMjAyNi0wNC0wOC9zcGVjaWZpY2F0aW9uL292ZXJ2aWV3IiwidHJhbnNwb3J0IjoibWNwIiwidmVyc2lvbiI6IjIwMjYtMDQtMDgifV19LCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9LCJ6ZXJvIjowfQ.oOfju-MfP_EIzK4iOzY2S0pGqz71o8UGTqbYRTOnsZ9IDKgjEv0XhKvudk4vzcoDFZ5xW-Rr7rf9fQiJtHMxCw" + "signature": "eyJhbGciOiJFZERTQSIsImtpZCI6InB5LWludC1ib3VuZGFyeS1FZERTQSIsInR5cCI6ImFnZW50c2NvcmUtcHJvZmlsZStqd3MifQ.eyJtYXhfc2FmZV9pbnQiOjkwMDcxOTkyNTQ3NDA5OTEsIm1pbl9zYWZlX2ludCI6LTkwMDcxOTkyNTQ3NDA5OTEsIm5lZ19zbWFsbF9pbnQiOi00Miwic2lnbmluZ19rZXlzIjpbeyJhbGciOiJFZERTQSIsImNydiI6IkVkMjU1MTkiLCJraWQiOiJweS1pbnQtYm91bmRhcnktRWREU0EiLCJrdHkiOiJPS1AiLCJ1c2UiOiJzaWciLCJ4IjoiT1FpOTdtS1ctQjdfSTN1bDl0MnNxR0NuNlpBNzRhQU5hS3ZEdmpPdzgtNCJ9XSwic21hbGxfaW50Ijo0MiwidWNwIjp7ImNhcGFiaWxpdGllcyI6e30sIm5hbWUiOiJJbnQgQm91bmRhcnkgTWVyY2hhbnQiLCJwYXltZW50X2hhbmRsZXJzIjp7fSwic2VydmljZXMiOnsiZGV2LnVjcC5zaG9wcGluZyI6W3siZW5kcG9pbnQiOiJodHRwczovL2kuZXhhbXBsZS5jb20vYXBpL3VjcC9tY3AiLCJzY2hlbWEiOiJodHRwczovL3VjcC5kZXYvc2VydmljZXMvc2hvcHBpbmcvbWNwLm9wZW5ycGMuanNvbiIsInNwZWMiOiJodHRwczovL3VjcC5kZXYvMjAyNi0wNC0wOC9zcGVjaWZpY2F0aW9uL292ZXJ2aWV3IiwidHJhbnNwb3J0IjoibWNwIiwidmVyc2lvbiI6IjIwMjYtMDQtMDgifV19LCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9LCJ6ZXJvIjowfQ.F5zrqSpIi91EOBm2QmAhIJRmekU7p-VD3Sf1O3X1LuMVaf79v1wHF6boYQRSRZH_4KXF4Gout39CJ1f-7HReDQ" }, "jwks": { "keys": [ { "crv": "Ed25519", - "x": "9tbm2c88gZyFzzDyfI0A-yfbB4xzu6m9pAWy0Ln3lNI", + "x": "OQi97mKW-B7_I3ul9t2sqGCn6ZA74aANaKvDvjOw8-4", "kid": "py-int-boundary-EdDSA", "alg": "EdDSA", "use": "sig", diff --git a/tests/fixtures/cross-lang/py-minimal.json b/tests/fixtures/cross-lang/py-minimal.json index dedfe5b..a9bb285 100644 --- a/tests/fixtures/cross-lang/py-minimal.json +++ b/tests/fixtures/cross-lang/py-minimal.json @@ -24,16 +24,16 @@ "alg": "EdDSA", "use": "sig", "crv": "Ed25519", - "x": "29lgJhbXQc6T--febg1OwvqYSP2RU7xQndmHl9HStN4" + "x": "0nS6TiJZ3L6e83CCnma1ffXvPedM_ONRy8jti7r5S8A" } ], - "signature": "eyJhbGciOiJFZERTQSIsImtpZCI6InB5LW1pbmltYWwtRWREU0EiLCJ0eXAiOiJhZ2VudHNjb3JlLXByb2ZpbGUrandzIn0.eyJzaWduaW5nX2tleXMiOlt7ImFsZyI6IkVkRFNBIiwiY3J2IjoiRWQyNTUxOSIsImtpZCI6InB5LW1pbmltYWwtRWREU0EiLCJrdHkiOiJPS1AiLCJ1c2UiOiJzaWciLCJ4IjoiMjlsZ0poYlhRYzZULS1mZWJnMU93dnFZU1AyUlU3eFFuZG1IbDlIU3RONCJ9XSwidWNwIjp7ImNhcGFiaWxpdGllcyI6e30sIm5hbWUiOiJNaW5pbWFsIE1lcmNoYW50IiwicGF5bWVudF9oYW5kbGVycyI6e30sInNlcnZpY2VzIjp7ImRldi51Y3Auc2hvcHBpbmciOlt7ImVuZHBvaW50IjoiaHR0cHM6Ly9tLmV4YW1wbGUuY29tL2FwaS91Y3AvbWNwIiwic2NoZW1hIjoiaHR0cHM6Ly91Y3AuZGV2L3NlcnZpY2VzL3Nob3BwaW5nL21jcC5vcGVucnBjLmpzb24iLCJzcGVjIjoiaHR0cHM6Ly91Y3AuZGV2LzIwMjYtMDQtMDgvc3BlY2lmaWNhdGlvbi9vdmVydmlldyIsInRyYW5zcG9ydCI6Im1jcCIsInZlcnNpb24iOiIyMDI2LTA0LTA4In1dfSwidmVyc2lvbiI6IjIwMjYtMDQtMDgifX0.H7ELZTV8BseCkX3RJUvNHAw0loE0M7iUmB4m2YsJ_k4rmYYLJ5m_8q2Ahh6OV6dOAlUfL5w5I3gKudP5rWzMDQ" + "signature": "eyJhbGciOiJFZERTQSIsImtpZCI6InB5LW1pbmltYWwtRWREU0EiLCJ0eXAiOiJhZ2VudHNjb3JlLXByb2ZpbGUrandzIn0.eyJzaWduaW5nX2tleXMiOlt7ImFsZyI6IkVkRFNBIiwiY3J2IjoiRWQyNTUxOSIsImtpZCI6InB5LW1pbmltYWwtRWREU0EiLCJrdHkiOiJPS1AiLCJ1c2UiOiJzaWciLCJ4IjoiMG5TNlRpSlozTDZlODNDQ25tYTFmZlh2UGVkTV9PTlJ5OGp0aTdyNVM4QSJ9XSwidWNwIjp7ImNhcGFiaWxpdGllcyI6e30sIm5hbWUiOiJNaW5pbWFsIE1lcmNoYW50IiwicGF5bWVudF9oYW5kbGVycyI6e30sInNlcnZpY2VzIjp7ImRldi51Y3Auc2hvcHBpbmciOlt7ImVuZHBvaW50IjoiaHR0cHM6Ly9tLmV4YW1wbGUuY29tL2FwaS91Y3AvbWNwIiwic2NoZW1hIjoiaHR0cHM6Ly91Y3AuZGV2L3NlcnZpY2VzL3Nob3BwaW5nL21jcC5vcGVucnBjLmpzb24iLCJzcGVjIjoiaHR0cHM6Ly91Y3AuZGV2LzIwMjYtMDQtMDgvc3BlY2lmaWNhdGlvbi9vdmVydmlldyIsInRyYW5zcG9ydCI6Im1jcCIsInZlcnNpb24iOiIyMDI2LTA0LTA4In1dfSwidmVyc2lvbiI6IjIwMjYtMDQtMDgifX0.nAABxuQtJzooLkjpOzHvisHDO-vkzkJTAFWE5yDoiE79lirFmUg5tO7UX0iaIo-moLO_d6oY59wIxndFvEB3CA" }, "jwks": { "keys": [ { "crv": "Ed25519", - "x": "29lgJhbXQc6T--febg1OwvqYSP2RU7xQndmHl9HStN4", + "x": "0nS6TiJZ3L6e83CCnma1ffXvPedM_ONRy8jti7r5S8A", "kid": "py-minimal-EdDSA", "alg": "EdDSA", "use": "sig", diff --git a/tests/fixtures/cross-lang/py-multikey.json b/tests/fixtures/cross-lang/py-multikey.json index 5653738..05707ab 100644 --- a/tests/fixtures/cross-lang/py-multikey.json +++ b/tests/fixtures/cross-lang/py-multikey.json @@ -36,7 +36,7 @@ "alg": "EdDSA", "use": "sig", "crv": "Ed25519", - "x": "bmtxztAfkN74Ww0GbLWUvb8XWejGK4O2EK5zxKyMa9U" + "x": "uVWMpV7M_IpVTc6ta0jk154EGcsTr62GQ5M2fDPLcSk" }, { "kid": "py-multikey-new", @@ -44,16 +44,16 @@ "alg": "EdDSA", "use": "sig", "crv": "Ed25519", - "x": "6wXFCH8GTAnmlgr5TUd2W56-BxWQmJE_qYzoOQRsEWY" + "x": "GOzbeCtZSVVMZO1S0u0FLk6j0xVtPTJEgfoVVjHLseQ" } ], - "signature": "eyJhbGciOiJFZERTQSIsImtpZCI6InB5LW11bHRpa2V5LW5ldyIsInR5cCI6ImFnZW50c2NvcmUtcHJvZmlsZStqd3MifQ.eyJzaWduaW5nX2tleXMiOlt7ImFsZyI6IkVkRFNBIiwiY3J2IjoiRWQyNTUxOSIsImtpZCI6InB5LW11bHRpa2V5LW9sZCIsImt0eSI6Ik9LUCIsInVzZSI6InNpZyIsIngiOiJibXR4enRBZmtONzRXdzBHYkxXVXZiOFhXZWpHSzRPMkVLNXp4S3lNYTlVIn0seyJhbGciOiJFZERTQSIsImNydiI6IkVkMjU1MTkiLCJraWQiOiJweS1tdWx0aWtleS1uZXciLCJrdHkiOiJPS1AiLCJ1c2UiOiJzaWciLCJ4IjoiNndYRkNIOEdUQW5tbGdyNVRVZDJXNTYtQnhXUW1KRV9xWXpvT1FSc0VXWSJ9XSwidWNwIjp7ImNhcGFiaWxpdGllcyI6e30sIm5hbWUiOiJNdWx0aS1LZXkgTWVyY2hhbnQiLCJwYXltZW50X2hhbmRsZXJzIjp7InNoLmFnZW50c2NvcmUucGF5bWVudC50ZW1wbyI6W3siY29uZmlnIjp7InJhaWwiOiJ0ZW1wby1tYWlubmV0In0sImlkIjoidGVtcG8iLCJzY2hlbWEiOiJodHRwczovL2FnZW50c2NvcmUuc2gvc2NoZW1hcy9wYXltZW50LWhhbmRsZXJzL3RlbXBvLmpzb24iLCJzcGVjIjoiaHR0cHM6Ly9hZ2VudHNjb3JlLnNoL3NwZWNpZmljYXRpb24vcGF5bWVudC1oYW5kbGVycy90ZW1wbyIsInZlcnNpb24iOiIyMDI2LTA0LTA4In1dfSwic2VydmljZXMiOnsiZGV2LnVjcC5zaG9wcGluZyI6W3siZW5kcG9pbnQiOiJodHRwczovL21rLmV4YW1wbGUuY29tL2FwaS91Y3AvbWNwIiwic2NoZW1hIjoiaHR0cHM6Ly91Y3AuZGV2L3NlcnZpY2VzL3Nob3BwaW5nL21jcC5vcGVucnBjLmpzb24iLCJzcGVjIjoiaHR0cHM6Ly91Y3AuZGV2LzIwMjYtMDQtMDgvc3BlY2lmaWNhdGlvbi9vdmVydmlldyIsInRyYW5zcG9ydCI6Im1jcCIsInZlcnNpb24iOiIyMDI2LTA0LTA4In1dfSwidmVyc2lvbiI6IjIwMjYtMDQtMDgifX0.Au5GjUltaxdK2vhazvJ5VqpuM5wtxQgD7YtkPA3ij3_glwQ3jtqK-9qwP_I4fg35jJa2EH9SuQkCv2MVa4dJCg" + "signature": "eyJhbGciOiJFZERTQSIsImtpZCI6InB5LW11bHRpa2V5LW5ldyIsInR5cCI6ImFnZW50c2NvcmUtcHJvZmlsZStqd3MifQ.eyJzaWduaW5nX2tleXMiOlt7ImFsZyI6IkVkRFNBIiwiY3J2IjoiRWQyNTUxOSIsImtpZCI6InB5LW11bHRpa2V5LW9sZCIsImt0eSI6Ik9LUCIsInVzZSI6InNpZyIsIngiOiJ1VldNcFY3TV9JcFZUYzZ0YTBqazE1NEVHY3NUcjYyR1E1TTJmRFBMY1NrIn0seyJhbGciOiJFZERTQSIsImNydiI6IkVkMjU1MTkiLCJraWQiOiJweS1tdWx0aWtleS1uZXciLCJrdHkiOiJPS1AiLCJ1c2UiOiJzaWciLCJ4IjoiR096YmVDdFpTVlZNWk8xUzB1MEZMazZqMHhWdFBUSkVnZm9WVmpITHNlUSJ9XSwidWNwIjp7ImNhcGFiaWxpdGllcyI6e30sIm5hbWUiOiJNdWx0aS1LZXkgTWVyY2hhbnQiLCJwYXltZW50X2hhbmRsZXJzIjp7InNoLmFnZW50c2NvcmUucGF5bWVudC50ZW1wbyI6W3siY29uZmlnIjp7InJhaWwiOiJ0ZW1wby1tYWlubmV0In0sImlkIjoidGVtcG8iLCJzY2hlbWEiOiJodHRwczovL2FnZW50c2NvcmUuY29tL3NjaGVtYXMvcGF5bWVudC1oYW5kbGVycy90ZW1wby5qc29uIiwic3BlYyI6Imh0dHBzOi8vYWdlbnRzY29yZS5jb20vc3BlY2lmaWNhdGlvbi9wYXltZW50LWhhbmRsZXJzL3RlbXBvIiwidmVyc2lvbiI6IjIwMjYtMDQtMDgifV19LCJzZXJ2aWNlcyI6eyJkZXYudWNwLnNob3BwaW5nIjpbeyJlbmRwb2ludCI6Imh0dHBzOi8vbWsuZXhhbXBsZS5jb20vYXBpL3VjcC9tY3AiLCJzY2hlbWEiOiJodHRwczovL3VjcC5kZXYvc2VydmljZXMvc2hvcHBpbmcvbWNwLm9wZW5ycGMuanNvbiIsInNwZWMiOiJodHRwczovL3VjcC5kZXYvMjAyNi0wNC0wOC9zcGVjaWZpY2F0aW9uL292ZXJ2aWV3IiwidHJhbnNwb3J0IjoibWNwIiwidmVyc2lvbiI6IjIwMjYtMDQtMDgifV19LCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9fQ.tCtP4knPhXCjWZ4n0uzxj7R9JU34wfxvOf5rTsNsQPv_k2GGrySbS4fEUxYfXeG1g8J4Eo_kZEJOVuj2y8RSBw" }, "jwks": { "keys": [ { "crv": "Ed25519", - "x": "bmtxztAfkN74Ww0GbLWUvb8XWejGK4O2EK5zxKyMa9U", + "x": "uVWMpV7M_IpVTc6ta0jk154EGcsTr62GQ5M2fDPLcSk", "kid": "py-multikey-old", "alg": "EdDSA", "use": "sig", @@ -61,7 +61,7 @@ }, { "crv": "Ed25519", - "x": "6wXFCH8GTAnmlgr5TUd2W56-BxWQmJE_qYzoOQRsEWY", + "x": "GOzbeCtZSVVMZO1S0u0FLk6j0xVtPTJEgfoVVjHLseQ", "kid": "py-multikey-new", "alg": "EdDSA", "use": "sig", diff --git a/tests/fixtures/cross-lang/py-unicode.json b/tests/fixtures/cross-lang/py-unicode.json index d642f27..4c7f9db 100644 --- a/tests/fixtures/cross-lang/py-unicode.json +++ b/tests/fixtures/cross-lang/py-unicode.json @@ -36,16 +36,16 @@ "alg": "EdDSA", "use": "sig", "crv": "Ed25519", - "x": "4z111Qj_1ipW6SujAVVBGqYsL6maY-BB_WwZx5ZZVp0" + "x": "WmWAVbBtfKWKImL972WD4D5Kwp4eTx8BzUcfNdes3ts" } ], - "signature": "eyJhbGciOiJFZERTQSIsImtpZCI6InB5LXVuaWNvZGUtRWREU0EiLCJ0eXAiOiJhZ2VudHNjb3JlLXByb2ZpbGUrandzIn0.eyJzaWduaW5nX2tleXMiOlt7ImFsZyI6IkVkRFNBIiwiY3J2IjoiRWQyNTUxOSIsImtpZCI6InB5LXVuaWNvZGUtRWREU0EiLCJrdHkiOiJPS1AiLCJ1c2UiOiJzaWciLCJ4IjoiNHoxMTFRal8xaXBXNlN1akFWVkJHcVlzTDZtYVktQkJfV3daeDVaWlZwMCJ9XSwidWNwIjp7ImNhcGFiaWxpdGllcyI6e30sIm5hbWUiOiJDYWbDqSDml6XmnKwg8J-NtyBNZXJjaGFudCIsInBheW1lbnRfaGFuZGxlcnMiOnsic2guYWdlbnRzY29yZS5wYXltZW50LnRlbXBvIjpbeyJjb25maWciOnsibm90ZSI6IuODoeODoiJ9LCJpZCI6InRlbXBvIiwic2NoZW1hIjoiaHR0cHM6Ly9hZ2VudHNjb3JlLnNoL3NjaGVtYXMvcGF5bWVudC1oYW5kbGVycy90ZW1wby5qc29uIiwic3BlYyI6Imh0dHBzOi8vYWdlbnRzY29yZS5zaC9zcGVjaWZpY2F0aW9uL3BheW1lbnQtaGFuZGxlcnMvdGVtcG8iLCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9XX0sInNlcnZpY2VzIjp7ImRldi51Y3Auc2hvcHBpbmciOlt7ImVuZHBvaW50IjoiaHR0cHM6Ly_ml6XmnKwuZXhhbXBsZS5jb20vYXBpL3VjcC9tY3AiLCJzY2hlbWEiOiJodHRwczovL3VjcC5kZXYvc2VydmljZXMvc2hvcHBpbmcvbWNwLm9wZW5ycGMuanNvbiIsInNwZWMiOiJodHRwczovL3VjcC5kZXYvMjAyNi0wNC0wOC9zcGVjaWZpY2F0aW9uL292ZXJ2aWV3IiwidHJhbnNwb3J0IjoibWNwIiwidmVyc2lvbiI6IjIwMjYtMDQtMDgifV19LCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9fQ.f9TnlaP_fgDx4pRw-7j6EHvMRUp4vAsuhfXJjV3mpuc2NP6yDhjJQENqu0E-g6aqArD0uiAFaYKT5XSS48w3AQ" + "signature": "eyJhbGciOiJFZERTQSIsImtpZCI6InB5LXVuaWNvZGUtRWREU0EiLCJ0eXAiOiJhZ2VudHNjb3JlLXByb2ZpbGUrandzIn0.eyJzaWduaW5nX2tleXMiOlt7ImFsZyI6IkVkRFNBIiwiY3J2IjoiRWQyNTUxOSIsImtpZCI6InB5LXVuaWNvZGUtRWREU0EiLCJrdHkiOiJPS1AiLCJ1c2UiOiJzaWciLCJ4IjoiV21XQVZiQnRmS1dLSW1MOTcyV0Q0RDVLd3A0ZVR4OEJ6VWNmTmRlczN0cyJ9XSwidWNwIjp7ImNhcGFiaWxpdGllcyI6e30sIm5hbWUiOiJDYWbDqSDml6XmnKwg8J-NtyBNZXJjaGFudCIsInBheW1lbnRfaGFuZGxlcnMiOnsic2guYWdlbnRzY29yZS5wYXltZW50LnRlbXBvIjpbeyJjb25maWciOnsibm90ZSI6IuODoeODoiJ9LCJpZCI6InRlbXBvIiwic2NoZW1hIjoiaHR0cHM6Ly9hZ2VudHNjb3JlLmNvbS9zY2hlbWFzL3BheW1lbnQtaGFuZGxlcnMvdGVtcG8uanNvbiIsInNwZWMiOiJodHRwczovL2FnZW50c2NvcmUuY29tL3NwZWNpZmljYXRpb24vcGF5bWVudC1oYW5kbGVycy90ZW1wbyIsInZlcnNpb24iOiIyMDI2LTA0LTA4In1dfSwic2VydmljZXMiOnsiZGV2LnVjcC5zaG9wcGluZyI6W3siZW5kcG9pbnQiOiJodHRwczovL-aXpeacrC5leGFtcGxlLmNvbS9hcGkvdWNwL21jcCIsInNjaGVtYSI6Imh0dHBzOi8vdWNwLmRldi9zZXJ2aWNlcy9zaG9wcGluZy9tY3Aub3BlbnJwYy5qc29uIiwic3BlYyI6Imh0dHBzOi8vdWNwLmRldi8yMDI2LTA0LTA4L3NwZWNpZmljYXRpb24vb3ZlcnZpZXciLCJ0cmFuc3BvcnQiOiJtY3AiLCJ2ZXJzaW9uIjoiMjAyNi0wNC0wOCJ9XX0sInZlcnNpb24iOiIyMDI2LTA0LTA4In19.gLEDwestIpE5Cf1mnV9tqzk9Eu17C4UoseBmElglM10nNG40T0okk0R3cBlo2QSMH-495Co5I0shilJakJHLCQ" }, "jwks": { "keys": [ { "crv": "Ed25519", - "x": "4z111Qj_1ipW6SujAVVBGqYsL6maY-BB_WwZx5ZZVp0", + "x": "WmWAVbBtfKWKImL972WD4D5Kwp4eTx8BzUcfNdes3ts", "kid": "py-unicode-EdDSA", "alg": "EdDSA", "use": "sig", diff --git a/tests/test_checkout_wallet_ofac_default.py b/tests/test_checkout_wallet_ofac_default.py index 2f96c0d..697daec 100644 --- a/tests/test_checkout_wallet_ofac_default.py +++ b/tests/test_checkout_wallet_ofac_default.py @@ -88,6 +88,13 @@ def _reset_warned_flag() -> None: _reset_warned_no_api_key() +@pytest.fixture(autouse=True) +def _pin_agentscore_base_url(monkeypatch: pytest.MonkeyPatch) -> None: + """Pin the endpoint these tests mock so the wallet-OFAC path is independent + of the installed SDK's default base URL.""" + monkeypatch.setenv("AGENTSCORE_BASE_URL", "https://api.agentscore.com") + + @pytest.mark.asyncio @respx.mock async def test_sdn_signer_with_no_gate_denies_settle(monkeypatch: pytest.MonkeyPatch) -> None: diff --git a/uv.lock b/uv.lock index 269e7de..840f2cd 100644 --- a/uv.lock +++ b/uv.lock @@ -13,7 +13,7 @@ constraints = [{ name = "fastapi", specifier = "!=0.136.3" }] [[package]] name = "agentscore-commerce" -version = "2.4.0" +version = "2.4.1" source = { editable = "." } dependencies = [ { name = "agentscore-py" },