Title: Explore did:nostr: identity support · Issue #1 · JavaScriptSolidServer/solid-oidc · GitHub
Open Graph Title: Explore did:nostr: identity support · Issue #1 · JavaScriptSolidServer/solid-oidc
X Title: Explore did:nostr: identity support · Issue #1 · JavaScriptSolidServer/solid-oidc
Description: Background Nostr uses secp256k1 keypairs for identity. A did:nostr:
Open Graph Description: Background Nostr uses secp256k1 keypairs for identity. A did:nostr:
X Description: Background Nostr uses secp256k1 keypairs for identity. A did:nostr:<pubkey> could serve as a decentralized WebID without requiring an HTTP-hosted identity document. What Would Be Needed Clien...
Opengraph URL: https://github.com/JavaScriptSolidServer/solid-oidc/issues/1
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Explore did:nostr: identity support","articleBody":"## Background\n\nNostr uses secp256k1 keypairs for identity. A `did:nostr:\u003cpubkey\u003e` could serve as a decentralized WebID without requiring an HTTP-hosted identity document.\n\n## What Would Be Needed\n\n### Client (solid-oidc.js)\n- Already accepts any `webid` claim - minimal changes needed\n- May need DID resolution if dereferencing the WebID\n\n### IDP (Server)\nA Nostr-OIDC bridge that:\n1. Presents a challenge (random nonce)\n2. User signs with their Nostr private key (nsec)\n3. Bridge verifies signature against public key (npub)\n4. Issues standard OIDC tokens with `webid: \"did:nostr:\u003cpubkey\u003e\"`\n\n## Possible Approaches\n\n1. **Patch existing IDPs** (CSS, JSS) - add Nostr auth flow\n2. **Standalone Nostr-OIDC bridge** - minimal service that speaks OIDC but authenticates via Nostr\n3. **Client-side DPoP with Nostr keys** - skip OIDC, use Nostr keys directly for DPoP\n\n## Questions\n\n- Should the `webid` be `did:nostr:\u003cnpub\u003e` or `did:nostr:\u003chex-pubkey\u003e`?\n- How to handle DID document resolution?\n- Could NIP-05 identifiers map to WebIDs?\n\n## References\n\n- [DID Nostr Method](https://github.com/nostr-protocol/nips) (if formalized)\n- [Solid-OIDC Spec](https://solidproject.org/TR/oidc)\n- [Nostr NIP-07](https://github.com/nostr-protocol/nips/blob/master/07.md) - browser extension signing","author":{"url":"https://github.com/melvincarvalho","@type":"Person","name":"melvincarvalho"},"datePublished":"2025-12-30T07:30:41.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":0},"url":"https://github.com/1/solid-oidc/issues/1"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:88fc0b6f-d5f4-5833-9c3f-5486c13ecca2 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | E00E:33576E:B6ED60:FC27FD:697761BF |
| html-safe-nonce | d03581fbaff58f938a7cbccd8961daf938c73eaa4810cd6848b21d6f9f2968a1 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFMDBFOjMzNTc2RTpCNkVENjA6RkMyN0ZEOjY5Nzc2MUJGIiwidmlzaXRvcl9pZCI6IjI1MTY2MTMyNTI1MTk1MTg2NTUiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 52209719da0ee48c1d30ddf45c6d475eccbd3a9666969edf194e907e497cbe55 |
| hovercard-subject-tag | issue:3769350668 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/JavaScriptSolidServer/solid-oidc/1/issue_layout |
| twitter:image | https://opengraph.githubassets.com/1e5220bf4e5d996d4205fcb5e2ae57a0690df73300921476de3418be3b8408ab/JavaScriptSolidServer/solid-oidc/issues/1 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/1e5220bf4e5d996d4205fcb5e2ae57a0690df73300921476de3418be3b8408ab/JavaScriptSolidServer/solid-oidc/issues/1 |
| og:image:alt | Background Nostr uses secp256k1 keypairs for identity. A did:nostr: |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | melvincarvalho |
| hostname | github.com |
| expected-hostname | github.com |
| None | 5a8480d78b6eaf851f2885fca5114ea5650621e2e77087cd43b0a647867014fb |
| turbo-cache-control | no-preview |
| go-import | github.com/JavaScriptSolidServer/solid-oidc git https://github.com/JavaScriptSolidServer/solid-oidc.git |
| octolytics-dimension-user_id | 205442424 |
| octolytics-dimension-user_login | JavaScriptSolidServer |
| octolytics-dimension-repository_id | 1125114140 |
| octolytics-dimension-repository_nwo | JavaScriptSolidServer/solid-oidc |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 1125114140 |
| octolytics-dimension-repository_network_root_nwo | JavaScriptSolidServer/solid-oidc |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | d6bbe5e9ce3cd2d8b53b6f1234f8df1d68014bf1 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width