Skip to content

Commit bd81dfe

Browse files
vvillait88claude
andcommitted
fix(identity): unwrap doubly-nested extras in py emoji-keys + int-boundary cross-lang regenerator
The Python regenerator passed `extras={"extras": {...}}` for the emoji-keys and int-boundary scenarios, so the test keys ended up nested under a literal "extras" key in the profile body. The Node sibling passes `extras={...}` directly and `buildUCPProfile` flattens via `Object.assign(profile, extras)`, so node fixtures had the keys at profile root interleaved with canonical fields. Net: a regression in either language's top-level key-sort that fires only when non-ASCII keys interleave with canonical fields would have surfaced in node fixtures but not py fixtures, defeating the cross-lang corpus. Also clarify the typed-empty-wins-over-raw behavior in `build_ucp_profile` as Python-only (Node has no raw fallback at all, so the asymmetry covers both directions: raw fallback AND the empty-dict-suppresses-fallback rule). Both flavors of py-emoji-keys.json and py-int-boundary.json now match node-* canonical bodies byte-for-byte (modulo per-run keypair material). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 09e0f71 commit bd81dfe

22 files changed

Lines changed: 92 additions & 96 deletions

agentscore_commerce/identity/ucp.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -282,8 +282,12 @@ async def ucp_profile():
282282
# ``data.raw["operator_verification"]`` / ``data.raw["account_verification"]``
283283
# only when the typed field is ``None``; this is a Python-only legacy
284284
# escape hatch for callers who hand-construct ``AssessResult(raw=..., typed=None)``.
285-
# Node has no equivalent fallback, so profiles built via the raw-only path
286-
# may not verify cross-language. Production callers should populate typed fields.
285+
# Node has no raw fallback at all (it reads typed fields directly via
286+
# optional chaining), so the typed-empty-wins-over-raw behavior is also
287+
# Python-only: a Python caller who passes ``account_verification={}``
288+
# explicitly suppresses the raw fallback (empty dict is None-distinguished
289+
# via ``is None``). Production callers populate typed fields consistently,
290+
# so this asymmetry is theoretical for typical usage.
287291
typed_op = data.operator_verification
288292
operator_verification: dict[str, Any]
289293
if typed_op is None:

scripts/regenerate_cross_lang_fixtures.py

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -165,12 +165,10 @@ def main() -> None:
165165
payment_handlers=[UCPPaymentHandler(name="tempo", config={})],
166166
signing_keys=[UCPSigningKey.from_jwk(key.public_jwk)],
167167
extras={
168-
"extras": {
169-
"a": 1,
170-
"豈": 2,
171-
"": 3,
172-
"🍷": 4,
173-
},
168+
"a": 1,
169+
"豈": 2,
170+
"": 3,
171+
"🍷": 4,
174172
},
175173
)
176174
signed = sign_ucp_profile(profile.to_dict(), signing_key=key.private_key, kid=kid)
@@ -185,13 +183,11 @@ def main() -> None:
185183
payment_handlers=[],
186184
signing_keys=[UCPSigningKey.from_jwk(key.public_jwk)],
187185
extras={
188-
"extras": {
189-
"max_safe_int": 9007199254740991,
190-
"min_safe_int": -9007199254740991,
191-
"small_int": 42,
192-
"neg_small_int": -42,
193-
"zero": 0,
194-
},
186+
"max_safe_int": 9007199254740991,
187+
"min_safe_int": -9007199254740991,
188+
"small_int": 42,
189+
"neg_small_int": -42,
190+
"zero": 0,
195191
},
196192
)
197193
signed = sign_ucp_profile(profile.to_dict(), signing_key=key.private_key, kid=kid)

tests/fixtures/cross-lang/node-capability.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,11 @@
3232
"use": "sig",
3333
"crv": "Ed25519",
3434
"kty": "OKP",
35-
"x": "W2J3iYt-Q1U5AIkFuN205U90p-BZLwCI-dYhaAbZdUA"
35+
"x": "AeclvTjS8f6B3AwW9kO4yjbZCEShPVIBiNFGFR4ZZp4"
3636
}
3737
],
3838
"name": "Capability Merchant",
39-
"signature": "eyJhbGciOiJFZERTQSIsImtpZCI6Im5vZGUtY2FwYWJpbGl0eS1FZERTQSIsInR5cCI6ImFnZW50c2NvcmUtcHJvZmlsZStqd3MifQ.eyJjYXBhYmlsaXRpZXMiOlt7Imt5Y19yZXF1aXJlZCI6dHJ1ZSwibmFtZSI6InNoLmFnZW50c2NvcmUuaWRlbnRpdHkiLCJzY2hlbWEiOiJodHRwczovL2FnZW50c2NvcmUuc2gvc2NoZW1hcy91Y3Avc2gtYWdlbnRzY29yZS1pZGVudGl0eS12MS5qc29uIiwidmVyc2lvbiI6IjEifV0sIm5hbWUiOiJDYXBhYmlsaXR5IE1lcmNoYW50IiwicGF5bWVudF9oYW5kbGVycyI6W3siY29uZmlnIjp7ImNoYWluX2lkIjo0MjE3LCJyYWlsIjoidGVtcG8tbWFpbm5ldCJ9LCJuYW1lIjoidGVtcG8ifV0sInNlcnZpY2VzIjpbeyJ0eXBlIjoicmVzdCIsInVybCI6Imh0dHBzOi8vYy5leGFtcGxlLmNvbSJ9XSwic2lnbmluZ19rZXlzIjpbeyJhbGciOiJFZERTQSIsImNydiI6IkVkMjU1MTkiLCJraWQiOiJub2RlLWNhcGFiaWxpdHktRWREU0EiLCJrdHkiOiJPS1AiLCJ1c2UiOiJzaWciLCJ4IjoiVzJKM2lZdC1RMVU1QUlrRnVOMjA1VTkwcC1CWkx3Q0ktZFloYUFiWmRVQSJ9XSwic3BlYyI6Imh0dHBzOi8vdWNwLmRldi8iLCJ2ZXJzaW9uIjoiMjAyNi0wNC0xNyJ9.mwtNLE6M0xn5ghwoqUPVFpVgNTDcaXApIKRRZyzUG_WMwOFD1tekXQU5uEcNJ6kt9rRLAAxfMyz_PB0pUe2dBg"
39+
"signature": "eyJhbGciOiJFZERTQSIsImtpZCI6Im5vZGUtY2FwYWJpbGl0eS1FZERTQSIsInR5cCI6ImFnZW50c2NvcmUtcHJvZmlsZStqd3MifQ.eyJjYXBhYmlsaXRpZXMiOlt7Imt5Y19yZXF1aXJlZCI6dHJ1ZSwibmFtZSI6InNoLmFnZW50c2NvcmUuaWRlbnRpdHkiLCJzY2hlbWEiOiJodHRwczovL2FnZW50c2NvcmUuc2gvc2NoZW1hcy91Y3Avc2gtYWdlbnRzY29yZS1pZGVudGl0eS12MS5qc29uIiwidmVyc2lvbiI6IjEifV0sIm5hbWUiOiJDYXBhYmlsaXR5IE1lcmNoYW50IiwicGF5bWVudF9oYW5kbGVycyI6W3siY29uZmlnIjp7ImNoYWluX2lkIjo0MjE3LCJyYWlsIjoidGVtcG8tbWFpbm5ldCJ9LCJuYW1lIjoidGVtcG8ifV0sInNlcnZpY2VzIjpbeyJ0eXBlIjoicmVzdCIsInVybCI6Imh0dHBzOi8vYy5leGFtcGxlLmNvbSJ9XSwic2lnbmluZ19rZXlzIjpbeyJhbGciOiJFZERTQSIsImNydiI6IkVkMjU1MTkiLCJraWQiOiJub2RlLWNhcGFiaWxpdHktRWREU0EiLCJrdHkiOiJPS1AiLCJ1c2UiOiJzaWciLCJ4IjoiQWVjbHZUalM4ZjZCM0F3VzlrTzR5amJaQ0VTaFBWSUJpTkZHRlI0WlpwNCJ9XSwic3BlYyI6Imh0dHBzOi8vdWNwLmRldi8iLCJ2ZXJzaW9uIjoiMjAyNi0wNC0xNyJ9.3ThDzMfTI4znrd0200TO0r-vTK2rS_w9BV6_PD0yyKcXvvu_dEqZVOs9R4kZRLJlPpnmoO8YpKg65qzcp5SwDA"
4040
},
4141
"jwks": {
4242
"keys": [
@@ -46,7 +46,7 @@
4646
"use": "sig",
4747
"crv": "Ed25519",
4848
"kty": "OKP",
49-
"x": "W2J3iYt-Q1U5AIkFuN205U90p-BZLwCI-dYhaAbZdUA"
49+
"x": "AeclvTjS8f6B3AwW9kO4yjbZCEShPVIBiNFGFR4ZZp4"
5050
}
5151
]
5252
},

tests/fixtures/cross-lang/node-data-driven-claims.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,11 @@
3333
"use": "sig",
3434
"crv": "Ed25519",
3535
"kty": "OKP",
36-
"x": "9X-YThZErqEd3mhlWLPolMQ_E-ZVtR6nKOJlJvzPLpo"
36+
"x": "_-gSp0gvGWvi1K8l3CY5F_jVGRSnogFBxUwwUiz_wcw"
3737
}
3838
],
3939
"name": "Data Driven Claims Merchant",
40-
"signature": "eyJhbGciOiJFZERTQSIsImtpZCI6Im5vZGUtZGF0YS1kcml2ZW4tY2xhaW1zLUVkRFNBIiwidHlwIjoiYWdlbnRzY29yZS1wcm9maWxlK2p3cyJ9.eyJjYXBhYmlsaXRpZXMiOlt7ImNsYWltcyI6eyJhZ2VfYnJhY2tldCI6InVua25vd24iLCJpc3N1ZXIiOiJodHRwczovL2FnZW50c2NvcmUuc2giLCJqdXJpc2RpY3Rpb24iOiIiLCJreWNfbGV2ZWwiOiJub25lIiwib3BlcmF0b3JfaWQiOiJvcF9kYXRhX2RyaXZlbiIsInNhbmN0aW9uc19jbGVhciI6ZmFsc2UsInZlcmlmaWVkX2F0IjpudWxsLCJ2ZXJpZnlfdXJsIjoiaHR0cHM6Ly9hZ2VudHNjb3JlLnNoL3ZlcmlmeS9vcF9kYXRhX2RyaXZlbiJ9LCJuYW1lIjoic2guYWdlbnRzY29yZS5pZGVudGl0eSIsInNjaGVtYSI6Imh0dHBzOi8vYWdlbnRzY29yZS5zaC9zY2hlbWFzL3VjcC9zaC1hZ2VudHNjb3JlLWlkZW50aXR5LXYxLmpzb24iLCJ2ZXJzaW9uIjoiMSJ9XSwibmFtZSI6IkRhdGEgRHJpdmVuIENsYWltcyBNZXJjaGFudCIsInBheW1lbnRfaGFuZGxlcnMiOltdLCJzZXJ2aWNlcyI6W3sidHlwZSI6InJlc3QiLCJ1cmwiOiJodHRwczovL2QuZXhhbXBsZS5jb20ifV0sInNpZ25pbmdfa2V5cyI6W3siYWxnIjoiRWREU0EiLCJjcnYiOiJFZDI1NTE5Iiwia2lkIjoibm9kZS1kYXRhLWRyaXZlbi1jbGFpbXMtRWREU0EiLCJrdHkiOiJPS1AiLCJ1c2UiOiJzaWciLCJ4IjoiOVgtWVRoWkVycUVkM21obFdMUG9sTVFfRS1aVnRSNm5LT0psSnZ6UExwbyJ9XSwic3BlYyI6Imh0dHBzOi8vdWNwLmRldi8iLCJ2ZXJzaW9uIjoiMjAyNi0wNC0xNyJ9.PUbT2371mHGBf4wfE6m5jhFwb7VEinUlfBmmP7yKj2_uPHFybTsAdmIGIV9PgfH9l_4FkxBfcVk4WNTjU3a7CA"
40+
"signature": "eyJhbGciOiJFZERTQSIsImtpZCI6Im5vZGUtZGF0YS1kcml2ZW4tY2xhaW1zLUVkRFNBIiwidHlwIjoiYWdlbnRzY29yZS1wcm9maWxlK2p3cyJ9.eyJjYXBhYmlsaXRpZXMiOlt7ImNsYWltcyI6eyJhZ2VfYnJhY2tldCI6InVua25vd24iLCJpc3N1ZXIiOiJodHRwczovL2FnZW50c2NvcmUuc2giLCJqdXJpc2RpY3Rpb24iOiIiLCJreWNfbGV2ZWwiOiJub25lIiwib3BlcmF0b3JfaWQiOiJvcF9kYXRhX2RyaXZlbiIsInNhbmN0aW9uc19jbGVhciI6ZmFsc2UsInZlcmlmaWVkX2F0IjpudWxsLCJ2ZXJpZnlfdXJsIjoiaHR0cHM6Ly9hZ2VudHNjb3JlLnNoL3ZlcmlmeS9vcF9kYXRhX2RyaXZlbiJ9LCJuYW1lIjoic2guYWdlbnRzY29yZS5pZGVudGl0eSIsInNjaGVtYSI6Imh0dHBzOi8vYWdlbnRzY29yZS5zaC9zY2hlbWFzL3VjcC9zaC1hZ2VudHNjb3JlLWlkZW50aXR5LXYxLmpzb24iLCJ2ZXJzaW9uIjoiMSJ9XSwibmFtZSI6IkRhdGEgRHJpdmVuIENsYWltcyBNZXJjaGFudCIsInBheW1lbnRfaGFuZGxlcnMiOltdLCJzZXJ2aWNlcyI6W3sidHlwZSI6InJlc3QiLCJ1cmwiOiJodHRwczovL2QuZXhhbXBsZS5jb20ifV0sInNpZ25pbmdfa2V5cyI6W3siYWxnIjoiRWREU0EiLCJjcnYiOiJFZDI1NTE5Iiwia2lkIjoibm9kZS1kYXRhLWRyaXZlbi1jbGFpbXMtRWREU0EiLCJrdHkiOiJPS1AiLCJ1c2UiOiJzaWciLCJ4IjoiXy1nU3AwZ3ZHV3ZpMUs4bDNDWTVGX2pWR1JTbm9nRkJ4VXd3VWl6X3djdyJ9XSwic3BlYyI6Imh0dHBzOi8vdWNwLmRldi8iLCJ2ZXJzaW9uIjoiMjAyNi0wNC0xNyJ9.iDuLf2JRjIr-Dx2siH9gft6X7UUsY1X3uZAa1cSuED33hlNePVK5j-oOOn0c66DrFVeGfCgBrlpG0KZ3InVvCA"
4141
},
4242
"jwks": {
4343
"keys": [
@@ -47,7 +47,7 @@
4747
"use": "sig",
4848
"crv": "Ed25519",
4949
"kty": "OKP",
50-
"x": "9X-YThZErqEd3mhlWLPolMQ_E-ZVtR6nKOJlJvzPLpo"
50+
"x": "_-gSp0gvGWvi1K8l3CY5F_jVGRSnogFBxUwwUiz_wcw"
5151
}
5252
]
5353
},

tests/fixtures/cross-lang/node-emoji-keys.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,15 @@
2222
"use": "sig",
2323
"crv": "Ed25519",
2424
"kty": "OKP",
25-
"x": "fiqJRqiAc0s1XVU4B8soGyQeu_a6x-Vlm2q93AjpKG0"
25+
"x": "c3dtoA-lzWibbsG7II88-F90FpkjTaBejCYYpNzCLKw"
2626
}
2727
],
2828
"name": "Emoji Keys Merchant",
2929
"a": 1,
3030
"豈": 2,
3131
"": 3,
3232
"🍷": 4,
33-
"signature": "eyJhbGciOiJFZERTQSIsImtpZCI6Im5vZGUtZW1vamkta2V5cy1FZERTQSIsInR5cCI6ImFnZW50c2NvcmUtcHJvZmlsZStqd3MifQ.eyJhIjoxLCJjYXBhYmlsaXRpZXMiOltdLCJuYW1lIjoiRW1vamkgS2V5cyBNZXJjaGFudCIsInBheW1lbnRfaGFuZGxlcnMiOlt7ImNvbmZpZyI6e30sIm5hbWUiOiJ0ZW1wbyJ9XSwic2VydmljZXMiOlt7InR5cGUiOiJyZXN0IiwidXJsIjoiaHR0cHM6Ly9lbW9qaS5leGFtcGxlLmNvbSJ9XSwic2lnbmluZ19rZXlzIjpbeyJhbGciOiJFZERTQSIsImNydiI6IkVkMjU1MTkiLCJraWQiOiJub2RlLWVtb2ppLWtleXMtRWREU0EiLCJrdHkiOiJPS1AiLCJ1c2UiOiJzaWciLCJ4IjoiZmlxSlJxaUFjMHMxWFZVNEI4c29HeVFldV9hNngtVmxtMnE5M0FqcEtHMCJ9XSwic3BlYyI6Imh0dHBzOi8vdWNwLmRldi8iLCJ2ZXJzaW9uIjoiMjAyNi0wNC0xNyIsIuixiCI6Miwi7oCAIjozLCLwn423Ijo0fQ.qNiFf0E5z9tpQdRYHQBzcTJYE9E-CctXUV0ZisplcBNKPeM7a5rXi05Z-nfIwlg9L3kIhA5Pi0iqdmymwrwSBQ"
33+
"signature": "eyJhbGciOiJFZERTQSIsImtpZCI6Im5vZGUtZW1vamkta2V5cy1FZERTQSIsInR5cCI6ImFnZW50c2NvcmUtcHJvZmlsZStqd3MifQ.eyJhIjoxLCJjYXBhYmlsaXRpZXMiOltdLCJuYW1lIjoiRW1vamkgS2V5cyBNZXJjaGFudCIsInBheW1lbnRfaGFuZGxlcnMiOlt7ImNvbmZpZyI6e30sIm5hbWUiOiJ0ZW1wbyJ9XSwic2VydmljZXMiOlt7InR5cGUiOiJyZXN0IiwidXJsIjoiaHR0cHM6Ly9lbW9qaS5leGFtcGxlLmNvbSJ9XSwic2lnbmluZ19rZXlzIjpbeyJhbGciOiJFZERTQSIsImNydiI6IkVkMjU1MTkiLCJraWQiOiJub2RlLWVtb2ppLWtleXMtRWREU0EiLCJrdHkiOiJPS1AiLCJ1c2UiOiJzaWciLCJ4IjoiYzNkdG9BLWx6V2liYnNHN0lJODgtRjkwRnBralRhQmVqQ1lZcE56Q0xLdyJ9XSwic3BlYyI6Imh0dHBzOi8vdWNwLmRldi8iLCJ2ZXJzaW9uIjoiMjAyNi0wNC0xNyIsIuixiCI6Miwi7oCAIjozLCLwn423Ijo0fQ.mH8PvKgGWxaUZMBIAu7ePxjpWaP9RM970enSZkSlLUKTURgmoWCkvxqWvwm4eIiQ2q-OK3UMOw7_I1qO2xEBCQ"
3434
},
3535
"jwks": {
3636
"keys": [
@@ -40,7 +40,7 @@
4040
"use": "sig",
4141
"crv": "Ed25519",
4242
"kty": "OKP",
43-
"x": "fiqJRqiAc0s1XVU4B8soGyQeu_a6x-Vlm2q93AjpKG0"
43+
"x": "c3dtoA-lzWibbsG7II88-F90FpkjTaBejCYYpNzCLKw"
4444
}
4545
]
4646
},

tests/fixtures/cross-lang/node-es256-rails.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,12 @@
3737
"use": "sig",
3838
"crv": "P-256",
3939
"kty": "EC",
40-
"x": "eF7O-0UhTnZOMUGovXaHe_shSo6DdXZcKm5jBbGTY4w",
41-
"y": "haXjE-ASyvJQdyGQ7zbRUTLjiOLHcQT2_e1cPr39lhg"
40+
"x": "_Hq8UqyZbxKGSySRkLkNNigGoBOs9O49vbV6NEPPFfw",
41+
"y": "1NIEwISSuJ8qbASd6QBCFooBPsphl4m4-zYM56bm-Dg"
4242
}
4343
],
4444
"name": "ES256 Merchant",
45-
"signature": "eyJhbGciOiJFUzI1NiIsImtpZCI6Im5vZGUtZXMyNTYtcmFpbHMtRVMyNTYiLCJ0eXAiOiJhZ2VudHNjb3JlLXByb2ZpbGUrandzIn0.eyJjYXBhYmlsaXRpZXMiOltdLCJuYW1lIjoiRVMyNTYgTWVyY2hhbnQiLCJwYXltZW50X2hhbmRsZXJzIjpbeyJjb25maWciOnsiY2hhaW5faWQiOjQyMTcsInJhaWwiOiJ0ZW1wby1tYWlubmV0In0sIm5hbWUiOiJ0ZW1wbyJ9LHsiY29uZmlnIjp7Im5ldHdvcmtzIjpbImJhc2UtODQ1MyJdfSwibmFtZSI6Ing0MDIifV0sInNlcnZpY2VzIjpbeyJ0eXBlIjoicmVzdCIsInVybCI6Imh0dHBzOi8vYS5leGFtcGxlLmNvbSJ9LHsidHlwZSI6ImEyYSIsInVybCI6Imh0dHBzOi8vYS5leGFtcGxlLmNvbS9hZ2VudC1jYXJkLmpzb24ifV0sInNpZ25pbmdfa2V5cyI6W3siYWxnIjoiRVMyNTYiLCJjcnYiOiJQLTI1NiIsImtpZCI6Im5vZGUtZXMyNTYtcmFpbHMtRVMyNTYiLCJrdHkiOiJFQyIsInVzZSI6InNpZyIsIngiOiJlRjdPLTBVaFRuWk9NVUdvdlhhSGVfc2hTbzZEZFhaY0ttNWpCYkdUWTR3IiwieSI6ImhhWGpFLUFTeXZKUWR5R1E3emJSVVRMamlPTEhjUVQyX2UxY1ByMzlsaGcifV0sInNwZWMiOiJodHRwczovL3VjcC5kZXYvIiwidmVyc2lvbiI6IjIwMjYtMDQtMTcifQ.BgY_Em8HJ4WIro_-WpmiTPnBqi5W5e06fOF662as2v6bTQRmP-JfIqkOdoWKs68YrnVwk-zax8APgcAiOo6ERQ"
45+
"signature": "eyJhbGciOiJFUzI1NiIsImtpZCI6Im5vZGUtZXMyNTYtcmFpbHMtRVMyNTYiLCJ0eXAiOiJhZ2VudHNjb3JlLXByb2ZpbGUrandzIn0.eyJjYXBhYmlsaXRpZXMiOltdLCJuYW1lIjoiRVMyNTYgTWVyY2hhbnQiLCJwYXltZW50X2hhbmRsZXJzIjpbeyJjb25maWciOnsiY2hhaW5faWQiOjQyMTcsInJhaWwiOiJ0ZW1wby1tYWlubmV0In0sIm5hbWUiOiJ0ZW1wbyJ9LHsiY29uZmlnIjp7Im5ldHdvcmtzIjpbImJhc2UtODQ1MyJdfSwibmFtZSI6Ing0MDIifV0sInNlcnZpY2VzIjpbeyJ0eXBlIjoicmVzdCIsInVybCI6Imh0dHBzOi8vYS5leGFtcGxlLmNvbSJ9LHsidHlwZSI6ImEyYSIsInVybCI6Imh0dHBzOi8vYS5leGFtcGxlLmNvbS9hZ2VudC1jYXJkLmpzb24ifV0sInNpZ25pbmdfa2V5cyI6W3siYWxnIjoiRVMyNTYiLCJjcnYiOiJQLTI1NiIsImtpZCI6Im5vZGUtZXMyNTYtcmFpbHMtRVMyNTYiLCJrdHkiOiJFQyIsInVzZSI6InNpZyIsIngiOiJfSHE4VXF5WmJ4S0dTeVNSa0xrTk5pZ0dvQk9zOU80OXZiVjZORVBQRmZ3IiwieSI6IjFOSUV3SVNTdUo4cWJBU2Q2UUJDRm9vQlBzcGhsNG00LXpZTTU2Ym0tRGcifV0sInNwZWMiOiJodHRwczovL3VjcC5kZXYvIiwidmVyc2lvbiI6IjIwMjYtMDQtMTcifQ.Pt-f7cc8KNxAuLM4vlCIt69qCoUlb5SnzQjSncvX-qsMwlwKCKwNNe9n0oRoZ75qQg8v1PZN5RWMwPmhJxIeNA"
4646
},
4747
"jwks": {
4848
"keys": [
@@ -52,8 +52,8 @@
5252
"use": "sig",
5353
"crv": "P-256",
5454
"kty": "EC",
55-
"x": "eF7O-0UhTnZOMUGovXaHe_shSo6DdXZcKm5jBbGTY4w",
56-
"y": "haXjE-ASyvJQdyGQ7zbRUTLjiOLHcQT2_e1cPr39lhg"
55+
"x": "_Hq8UqyZbxKGSySRkLkNNigGoBOs9O49vbV6NEPPFfw",
56+
"y": "1NIEwISSuJ8qbASd6QBCFooBPsphl4m4-zYM56bm-Dg"
5757
}
5858
]
5959
},

tests/fixtures/cross-lang/node-extras-int.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@
2525
"use": "sig",
2626
"crv": "Ed25519",
2727
"kty": "OKP",
28-
"x": "76eVD6Zq7GlZJb7YTAKpl7t5GmCz1MRCC0QixYG8ZiU"
28+
"x": "q8TPukNcTGlAQITtxzuMx-VPo7b0u78TZ6l7tPLZ1Lk"
2929
}
3030
],
3131
"name": "Extras Merchant",
32-
"signature": "eyJhbGciOiJFZERTQSIsImtpZCI6Im5vZGUtZXh0cmFzLWludC1FZERTQSIsInR5cCI6ImFnZW50c2NvcmUtcHJvZmlsZStqd3MifQ.eyJjYXBhYmlsaXRpZXMiOltdLCJuYW1lIjoiRXh0cmFzIE1lcmNoYW50IiwicGF5bWVudF9oYW5kbGVycyI6W3siY29uZmlnIjp7ImNvdW50Ijo3LCJwcm9maWxlX2lkIjoiYWJjIn0sIm5hbWUiOiJzdHJpcGUifV0sInNlcnZpY2VzIjpbeyJ0eXBlIjoicmVzdCIsInVybCI6Imh0dHBzOi8vZS5leGFtcGxlLmNvbSJ9XSwic2lnbmluZ19rZXlzIjpbeyJhbGciOiJFZERTQSIsImNydiI6IkVkMjU1MTkiLCJraWQiOiJub2RlLWV4dHJhcy1pbnQtRWREU0EiLCJrdHkiOiJPS1AiLCJ1c2UiOiJzaWciLCJ4IjoiNzZlVkQ2WnE3R2xaSmI3WVRBS3BsN3Q1R21DejFNUkNDMFFpeFlHOFppVSJ9XSwic3BlYyI6Imh0dHBzOi8vdWNwLmRldi8iLCJ2ZXJzaW9uIjoiMjAyNi0wNC0xNyJ9.xFnQJQ9aOp8ErMBxsuUqS9RCD49ZvIBApbSPMzgwtPykYkqj2Wbx32sYlLY2GFu4ipQx-XshDaK6sImzHy2IBA"
32+
"signature": "eyJhbGciOiJFZERTQSIsImtpZCI6Im5vZGUtZXh0cmFzLWludC1FZERTQSIsInR5cCI6ImFnZW50c2NvcmUtcHJvZmlsZStqd3MifQ.eyJjYXBhYmlsaXRpZXMiOltdLCJuYW1lIjoiRXh0cmFzIE1lcmNoYW50IiwicGF5bWVudF9oYW5kbGVycyI6W3siY29uZmlnIjp7ImNvdW50Ijo3LCJwcm9maWxlX2lkIjoiYWJjIn0sIm5hbWUiOiJzdHJpcGUifV0sInNlcnZpY2VzIjpbeyJ0eXBlIjoicmVzdCIsInVybCI6Imh0dHBzOi8vZS5leGFtcGxlLmNvbSJ9XSwic2lnbmluZ19rZXlzIjpbeyJhbGciOiJFZERTQSIsImNydiI6IkVkMjU1MTkiLCJraWQiOiJub2RlLWV4dHJhcy1pbnQtRWREU0EiLCJrdHkiOiJPS1AiLCJ1c2UiOiJzaWciLCJ4IjoicThUUHVrTmNUR2xBUUlUdHh6dU14LVZQbzdiMHU3OFRaNmw3dFBMWjFMayJ9XSwic3BlYyI6Imh0dHBzOi8vdWNwLmRldi8iLCJ2ZXJzaW9uIjoiMjAyNi0wNC0xNyJ9.9KMviIIukuWTKrLYyrLzyWpSLterso4-TWMe6-i_IPnZ1DkVEeo09ql73NF1dcBk2E8bNetcJ2o603JyLD5pCQ"
3333
},
3434
"jwks": {
3535
"keys": [
@@ -39,7 +39,7 @@
3939
"use": "sig",
4040
"crv": "Ed25519",
4141
"kty": "OKP",
42-
"x": "76eVD6Zq7GlZJb7YTAKpl7t5GmCz1MRCC0QixYG8ZiU"
42+
"x": "q8TPukNcTGlAQITtxzuMx-VPo7b0u78TZ6l7tPLZ1Lk"
4343
}
4444
]
4545
},

tests/fixtures/cross-lang/node-int-boundary.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"use": "sig",
1818
"crv": "Ed25519",
1919
"kty": "OKP",
20-
"x": "u8lJmcdJDrxcns-GfXH4Tnv5XsbMbanbW6tflZWXZig"
20+
"x": "Szf46vxQ_9bY6fp12Tzs2jxUtDtRnPSLAI2FeaMkhk8"
2121
}
2222
],
2323
"name": "Int Boundary Merchant",
@@ -26,7 +26,7 @@
2626
"small_int": 42,
2727
"neg_small_int": -42,
2828
"zero": 0,
29-
"signature": "eyJhbGciOiJFZERTQSIsImtpZCI6Im5vZGUtaW50LWJvdW5kYXJ5LUVkRFNBIiwidHlwIjoiYWdlbnRzY29yZS1wcm9maWxlK2p3cyJ9.eyJjYXBhYmlsaXRpZXMiOltdLCJtYXhfc2FmZV9pbnQiOjkwMDcxOTkyNTQ3NDA5OTEsIm1pbl9zYWZlX2ludCI6LTkwMDcxOTkyNTQ3NDA5OTEsIm5hbWUiOiJJbnQgQm91bmRhcnkgTWVyY2hhbnQiLCJuZWdfc21hbGxfaW50IjotNDIsInBheW1lbnRfaGFuZGxlcnMiOltdLCJzZXJ2aWNlcyI6W3sidHlwZSI6InJlc3QiLCJ1cmwiOiJodHRwczovL2kuZXhhbXBsZS5jb20ifV0sInNpZ25pbmdfa2V5cyI6W3siYWxnIjoiRWREU0EiLCJjcnYiOiJFZDI1NTE5Iiwia2lkIjoibm9kZS1pbnQtYm91bmRhcnktRWREU0EiLCJrdHkiOiJPS1AiLCJ1c2UiOiJzaWciLCJ4IjoidThsSm1jZEpEcnhjbnMtR2ZYSDRUbnY1WHNiTWJhbmJXNnRmbFpXWFppZyJ9XSwic21hbGxfaW50Ijo0Miwic3BlYyI6Imh0dHBzOi8vdWNwLmRldi8iLCJ2ZXJzaW9uIjoiMjAyNi0wNC0xNyIsInplcm8iOjB9.WMSttoe3Gw89si_bPwYG7X0s8MxuyY0z3K73Bx9-JzfKIUDcQCo5HkFWN8pjdgkQDKLa6qHg1voj4fSf87qpAg"
29+
"signature": "eyJhbGciOiJFZERTQSIsImtpZCI6Im5vZGUtaW50LWJvdW5kYXJ5LUVkRFNBIiwidHlwIjoiYWdlbnRzY29yZS1wcm9maWxlK2p3cyJ9.eyJjYXBhYmlsaXRpZXMiOltdLCJtYXhfc2FmZV9pbnQiOjkwMDcxOTkyNTQ3NDA5OTEsIm1pbl9zYWZlX2ludCI6LTkwMDcxOTkyNTQ3NDA5OTEsIm5hbWUiOiJJbnQgQm91bmRhcnkgTWVyY2hhbnQiLCJuZWdfc21hbGxfaW50IjotNDIsInBheW1lbnRfaGFuZGxlcnMiOltdLCJzZXJ2aWNlcyI6W3sidHlwZSI6InJlc3QiLCJ1cmwiOiJodHRwczovL2kuZXhhbXBsZS5jb20ifV0sInNpZ25pbmdfa2V5cyI6W3siYWxnIjoiRWREU0EiLCJjcnYiOiJFZDI1NTE5Iiwia2lkIjoibm9kZS1pbnQtYm91bmRhcnktRWREU0EiLCJrdHkiOiJPS1AiLCJ1c2UiOiJzaWciLCJ4IjoiU3pmNDZ2eFFfOWJZNmZwMTJUenMyanhVdER0Um5QU0xBSTJGZWFNa2hrOCJ9XSwic21hbGxfaW50Ijo0Miwic3BlYyI6Imh0dHBzOi8vdWNwLmRldi8iLCJ2ZXJzaW9uIjoiMjAyNi0wNC0xNyIsInplcm8iOjB9.DvkIZ_rn0utUn4LQhLsIFeoA9iIhpEb3Gk3_Q93LOLaHg5kuw226m35IFODJV2WwkJtjmJ6-Ib829V_-7iF8Bg"
3030
},
3131
"jwks": {
3232
"keys": [
@@ -36,7 +36,7 @@
3636
"use": "sig",
3737
"crv": "Ed25519",
3838
"kty": "OKP",
39-
"x": "u8lJmcdJDrxcns-GfXH4Tnv5XsbMbanbW6tflZWXZig"
39+
"x": "Szf46vxQ_9bY6fp12Tzs2jxUtDtRnPSLAI2FeaMkhk8"
4040
}
4141
]
4242
},

tests/fixtures/cross-lang/node-minimal.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@
1717
"use": "sig",
1818
"crv": "Ed25519",
1919
"kty": "OKP",
20-
"x": "Eu3xy7R5qKTAVsCTUVwHevr-kuSThQs3rrTrCDTVXYw"
20+
"x": "2Jgxm4RvhN3zQ-tmfPw3e-kqm80FGByMyjmswNnjl0I"
2121
}
2222
],
2323
"name": "Minimal Merchant",
24-
"signature": "eyJhbGciOiJFZERTQSIsImtpZCI6Im5vZGUtbWluaW1hbC1FZERTQSIsInR5cCI6ImFnZW50c2NvcmUtcHJvZmlsZStqd3MifQ.eyJjYXBhYmlsaXRpZXMiOltdLCJuYW1lIjoiTWluaW1hbCBNZXJjaGFudCIsInBheW1lbnRfaGFuZGxlcnMiOltdLCJzZXJ2aWNlcyI6W3sidHlwZSI6InJlc3QiLCJ1cmwiOiJodHRwczovL20uZXhhbXBsZS5jb20ifV0sInNpZ25pbmdfa2V5cyI6W3siYWxnIjoiRWREU0EiLCJjcnYiOiJFZDI1NTE5Iiwia2lkIjoibm9kZS1taW5pbWFsLUVkRFNBIiwia3R5IjoiT0tQIiwidXNlIjoic2lnIiwieCI6IkV1M3h5N1I1cUtUQVZzQ1RVVndIZXZyLWt1U1RoUXMzcnJUckNEVFZYWXcifV0sInNwZWMiOiJodHRwczovL3VjcC5kZXYvIiwidmVyc2lvbiI6IjIwMjYtMDQtMTcifQ.ILipSybEiTS5CZqKGB3gtqiK0nQY8GqNG8B_K9rp9MtJJtIrmVGmDsWDMLBnCjntLL-dCr0OZnbTVTQvjUFaAw"
24+
"signature": "eyJhbGciOiJFZERTQSIsImtpZCI6Im5vZGUtbWluaW1hbC1FZERTQSIsInR5cCI6ImFnZW50c2NvcmUtcHJvZmlsZStqd3MifQ.eyJjYXBhYmlsaXRpZXMiOltdLCJuYW1lIjoiTWluaW1hbCBNZXJjaGFudCIsInBheW1lbnRfaGFuZGxlcnMiOltdLCJzZXJ2aWNlcyI6W3sidHlwZSI6InJlc3QiLCJ1cmwiOiJodHRwczovL20uZXhhbXBsZS5jb20ifV0sInNpZ25pbmdfa2V5cyI6W3siYWxnIjoiRWREU0EiLCJjcnYiOiJFZDI1NTE5Iiwia2lkIjoibm9kZS1taW5pbWFsLUVkRFNBIiwia3R5IjoiT0tQIiwidXNlIjoic2lnIiwieCI6IjJKZ3htNFJ2aE4zelEtdG1mUHczZS1rcW04MEZHQnlNeWptc3dObmpsMEkifV0sInNwZWMiOiJodHRwczovL3VjcC5kZXYvIiwidmVyc2lvbiI6IjIwMjYtMDQtMTcifQ.hcmlPgS0XaPdSe9kPFhaMbIvmNPzEaBJY9jW_ZYW7kDMftsaBt4wwF-SocM8z-dcpos4kNGsPAWKEzGHnYAaAg"
2525
},
2626
"jwks": {
2727
"keys": [
@@ -31,7 +31,7 @@
3131
"use": "sig",
3232
"crv": "Ed25519",
3333
"kty": "OKP",
34-
"x": "Eu3xy7R5qKTAVsCTUVwHevr-kuSThQs3rrTrCDTVXYw"
34+
"x": "2Jgxm4RvhN3zQ-tmfPw3e-kqm80FGByMyjmswNnjl0I"
3535
}
3636
]
3737
},

0 commit comments

Comments
 (0)