-
Notifications
You must be signed in to change notification settings - Fork 721
Nostr Web Tokens #2187
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Nostr Web Tokens #2187
Conversation
|
Looks good. I would break all multi-value tags into multiple tags, like: Though I don't think this will or needs to replace NIP-98 or Blossom's Auth. |
|
Thanks for the feedback @vitorpamplona. I don't have a strong preference regarding tags. Regarding your last comment, I think Blossom Auth requires reworking because:
But this is a separate discussion to have with @hzrd149 :) |
I think so.
Not sure what you mean by that. But it should be fine if they do have.. no?
I think Blossom's 24242 has a However, because mirroring is common/desirable on Blossom, this could be more of a feature than an attack. |
It's not terrible but it's not ideal in its current form IMO.
Maybe it had it in the past, but not now. In fact hzrd suggested to add it only to the DELETE endpoint to prevent this replay attack, which would exacerbate my first point about each endpoint having its own validation rules.
It's desirable for reads, uploads, mirrors, but not for deletes or lists in general. If deletes are meant to be global, it's also desirable for them. To give more context, NWT have been inspired by this discussion about blossom auth. |
|
It is there for the GET in BUD-01. A simple change can add it to the DELETE too. Given the debate over there, I still think this is not a replacement for NIP-98 or Blossom's Auth. This one is for cases where you need much more configurability (e.g. separate |
|
I would like to see this or something like this replace NIP-98 only because any app I use that is using NIP-98 requires me to give away all control of my private key so it can auto sign for every damn http request. I'm undecided if this could be a replacement for the blossom authorization since as you guys have mentioned its missing clear documentation around the @pippellia-btc ill try to get some time in the next few days to make a PR to the blossom spec to update the documentation around the authorization event and the |
I think that goes beyond replacing it, since one can replace it but still require a new NWT at every http request. I think you are asking for a new way to sign in with broader permissions on the server and token reuse by clients, which is not just a simple replacement. To me, this is a new thing and would need additional boundaries that nip98 doesn't even bother about. |
Readable Version
TLDR;
A Nostr Web Token (NWT) is a Nostr event used to convey signed claims between parties on the web, inspired by JSON Web Tokens.
NWT is able to represent both NIP-98 and Blossom authorization event, and anything in between, allowing clients much more flexibility for how and how long these tokens are considered valid.
Depending on the use case, the benefits are improved signing UX and/or security.
Here is a detailed comparison: NWT vs NIP-98 vs Blossom Auth
Here is a video explanation: Introducing NWT
EDIT:
Here is the reference library implementation: Golang NWT