Compaction with mandated context incompatible with OIDC
Nobody has claimed this yet.
- Dominant language
- Bikeshed
- Stars
- 26
- Forks
- 14
- PR merge metrics
- No merged PRs in 30d
Description
While experimenting in the JSON-LD Playground, I stumbled upon the following issue, which I could only solve by diverting from the mandated JSON-LD context.
Starting from the example Client ID Document in 5.1, when expanding with the context and then compacting the result again, the "redirect_uris": ["https://app.example/callback"] statement becomes:
"redirect_uris": {
"@none": [
"https://app.example/callback"
]
}
This is obviously not what we want, in order to be compatible with OIDC Dynamic Registration syntax. It is due to redirect_uris being configured as a JSON-LD ID Map in the context, as follows.
"redirect_uris": {
"@id": "oidc:redirect_uris",
"@type": "@id",
"@container": [
"@id",
"@set"
]
}
That data structure is meant for maps, both the key and the value of which are (named) nodes. A set of redirect URIs, however, is just a set of nodes, not a map. I therefore believe the @id annotation of @container should be removed, leaving just "@container": "@set", which results in the correct expansion.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the mandated JSON-LD context linked in the issue and the Client ID Document example in section 5.1. Reproduce the expand-and-compact result in the JSON-LD Playground, then verify that the context produces OIDC Dynamic Registration-compatible redirect_uris syntax.
Written by the indexing model from the issue text.
Assessment
- Domain
- authentication, documentation
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100