Closed babisRoutis closed 3 weeks ago
Same more complex examples
digestNumberHint
option for "structured" disclosed (nested) claimssdJwt {
iss("https://issuer.example.com")
iat(1683000000)
exp(1883000000)
sub("6c5c0a49-b589-431d-bae7-219122a9ec2c")
structured("address", digestNumberHint = 10) {
sd {
put("street_address", "Schulstr. 12")
put("locality", "Schulpforta")
put("region", "Sachsen-Anhalt")
put("country", "DE")
}
}
}
The above example will produce
{
"iss": "https://issuer.example.com",
"iat": 1683000000,
"exp": 1883000000,
"sub": "6c5c0a49-b589-431d-bae7-219122a9ec2c",
"address": {
"_sd": [
"0xapmdBWcMC6Z_SxKn9VAEP_ku2DNb0Q08xWczrPBSk",
"2X48W2OhUjmkIjsq4BypIY2jI_nJBC5KoLkB5CZUeWs",
"4BoTiwm9ZuDuh7pHF0XVZky63NKPJOkB3cWj9wxrmyU",
"CixEF-hGheuLvYWBpAPEEhZulcgW1xoevtEqF96NlKc",
"GNz2mT9fweBg3dyF8WtI61ELS480vH23Wqd529_lR-U",
"OByIaX6zhCYjygrha2u116eGO6IgSFQav5LnOhwi8vs",
"Vy3vmO_3--tDpsILkPTaRq7VlkzZYY-dK1gPUiV9fUM",
"nD3ma1nDu2D_aIBkpAO64NAdNROWFTziy5fstPD2_jY",
"oteez1_IfVPrwpmlbWMTZhYf7JzxKT5Sf9q8pylotAs",
"x_GqIpZcx9CjnlRNUmN4HvwdHyPZ2TxJgjte7twfV2M"
]
},
"_sd_alg": "sha-256"
}
digestNumberHint
option for "recursive" disclosed claims and at the top levelsdJwt(digestNumberHint = 2) {
iss("https://issuer.example.com")
iat(1683000000)
exp(1883000000)
sub("6c5c0a49-b589-431d-bae7-219122a9ec2c")
recursive("address", digestNumberHint = 10) {
sd {
put("street_address", "Schulstr. 12")
put("locality", "Schulpforta")
put("region", "Sachsen-Anhalt")
put("country", "DE")
}
}
}
Result:
{
"iss": "https://issuer.example.com",
"iat": 1683000000,
"exp": 1883000000,
"sub": "6c5c0a49-b589-431d-bae7-219122a9ec2c",
"_sd": [
"GTzMXI7iL2EVt-4ivpqqYN9OKpDVpAFQ_c_SLkfPPjM",
"e7zwyRO6zLPXneEEmUGb8K0yxshdpETy5F8yaQ8WBe4"
],
"_sd_alg": "sha-256"
}
Also the disclosure of address will have decoys as follows
["...salt...","address",{"_sd":["5Ql6A2U-itB-4mCVMWL7TIiu7FGMB1Rtx27_UwropXg","6R86s6vDS1wm0R-pWTfo6W-hYL14j1i6IqO-Bpbsmtg","AgK5BuV3cp79EFRGRyQyMPwFjgFefeAOGxkTow4u1U0","D98GrLVDyF-9qFmZZfRZyqgDnB0lO_fcHqJfbcNVs80","LpiD4USIjWPdJhsytcAi144BSVGp0lHMcwmEVjG3jZo","Pqe_pbIbIvDF65XQFafPRELRdhO8T7JzkqbyqU6UgYc","SCsbzRH5c_dmvSdMAcwcKwhmhlZPBG01iWl5h39Pg8Y","X0TfOU7gvQKjXojLMQWKjyQBcHmby0e2Hzuzk7yqv2A","jvl_LH6KMog8GfBcxwdhRHbA_KoixVa5mjc7WIvYR38","nsFkUtnmob4IY_BkUJi98NEwsDS-iBbTs9EdFeEsy9s"]}]
This PR is in response of #199 and focuses on the following:
Other changes:
RecreateClaims
to lower code complexity and use better (function names)Closes #199 Closes #205 Closes #206