[java-idp-plugin-vci] branch main updated: Remove unneeded bloc from instructions
Codeberg
noreply at shibboleth.net
Mon Sep 7 15:04:21 UTC 2026
This is an automated email from the git hooks/post-receive script.
codeberg pushed a commit to branch main
in repository java-idp-plugin-vci.
View the commit online:
https://codeberg.org/Shibboleth/java-idp-plugin-vci/commit/a8f621371d15a75cf9d00c1849f1e1af43e969b1
The following commit(s) were added to refs/heads/main by this push:
new a8f6213 Remove unneeded bloc from instructions
a8f6213 is described below
commit a8f621371d15a75cf9d00c1849f1e1af43e969b1
Author: Janne Lauros <janne.lauros at csc.fi>
AuthorDate: Mon Sep 7 18:04:10 2026 +0300
Remove unneeded bloc from instructions
---
README.md | 36 ------------------------------------
1 file changed, 36 deletions(-)
diff --git a/README.md b/README.md
index c7321c3..19edcc0 100644
--- a/README.md
+++ b/README.md
@@ -685,42 +685,6 @@ And you release it to the wallet in *conf/attribute-filter.xml*. This flow reads
</details>
-#### Notes
-
-This flow needs `openidvci.TokenManipulationStrategy` in two places. **OIDC.SSO** puts the
-credential content into the authorization code and **OpenID.VCI.Token** carries it from there
-into the access token. Miss either one and the wallet gets a token but no credential.
-
-Four things bind this attribute. Breaking any one of them fails quietly, the wallet gets a
-token and then no credential:
-
-- The `name` of `AttributeEncoder` must be **exactly** the credential configuration id. The
- credential endpoint looks the value up with that string.
-- The attribute must be **single-valued**. The value is read as a string and `OIDCString` joins
- multiple values with a space into something that does not parse anymore.
-- The value must be a JSON object with a **`requestedCredential`** array. This is *not* the
- same shape the credential-offer endpoint takes, see the table below.
-- The attribute must be both resolved *and* released. It is easy to have one without the other.
-
-The two wire formats really are different and the difference is the most common thing to get
-wrong:
-
-| | Pre-authorized code flow | Authorization code flow |
-|---|---|---|
-| Where the claim list lives | credential-offer HTTP request body | value of an IdP attribute |
-| Keyed by configuration id | yes, under `preAuthorizedCredentials` | no, the attribute name carries it |
-| Wrapper around the array | none | **`requestedCredential`** |
-| Example | `{"preAuthorizedCredentials":{"GeantIncubatorDiploma_SDJWT":[…]}}` | `{"requestedCredential":[…]}` |
-
-About the script itself. Build the JSON by concatenating as in the example, not with backslash
-line continuations inside one string literal. A continued string keeps the indentation of every
-following line and that tempts you to clean it up with `credential.replaceAll("\\s+","")`. It
-strips also the spaces inside your values and turns `Scrum Master` into `ScrumMaster`.
-
-`getValues().get(0)` takes only the first value of a multi-valued attribute, which is usually
-what you want for `eduPersonAffiliation`. It throws if the attribute did not resolve at all, so
-guard the inputs that are not guaranteed to be there. A value with `"` or `\` in it breaks the
-JSON as well, escape them if they may come from a directory.
### Status List
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the commits
mailing list