Here is a demo of a new onboarding flow for nostr applications. I started working on this after watching @rabble's keynote "Nostr for normies" at @Nostriga; which I highly recommend watching.
My goal here was to create a way to onboard new users without requiring them to:
* install a browser extension
* copy/paste a secret
* explain npub/nsec stuff
* without losing interoperability with other nostr applications
This flow resembles a lot an OAuth style (e.g. "Login with twitter") flow:
* You create an account in one site (e.g. Twitter)
* You can "login" to another site with that account
* You can revoke access from using your account
Behind the scenes this is using NIP-89 to find nsecBunkers that allow people to register an account in their domain.
This means that any nostr application can offer a signup/login flow on any nsecBunker domain. The application itself doesn't take custody nor ever see the generated key.
And what's cool is that any nsecBunker provider can create their own flow; they can use passwords, or not, they can require a payment or proof-of-work to create an account. They can brand their "signup/login" popup page in whatever way they want.
Here is a demo video of this new building block that is now available to nostr applications.
Thread
Login to reply
Replies (39)
Yes
Awesome work Pablo, really neat and much easier flow. Thank you for the works ๐
cant wait to have this feature on nostri.chat please !
Eversince I added nostrichat to my legacy website , I have received at least five queries about nsec and stuff (log in) .. and eventually forced them to go anonymous .. and hence cant even reply to them :-) This would be a lifesaver . Last thing you wanna teach the world is a new way to "log in" ..
That said , I do love the idea that nostr users understand the significance of npub and nsec ... I guess that should be reveled to users once they get comfortable with more compelling features of nostr such as zaps ..
linking to gravatar is an awesome idea .. open and free ..
wow thatโs brilliant
Amazing. I've tried onboardstr, but you're right, normies won't do key management. This OAuth style login makes nostr normie friendly. ๐ค
Yaaaasss
View quoted note โ
Nice! ๐ฅ๐ฅ๐ฅ
Totally butchered this on BH today, I forgot the 2hrs conversation we had about waking on that park ๐
๐๐๐๐๐
Looking forward to listening to your meat-AI hallucinations ๐
Te enviรฉ mensajes ,vuelvo a hacerlo
View quoted note โ
Fantastic job by Pablo.
The ever producing creative mind wins !
Yes to all of this. Nice job.
Passkey to nsec. Passkeys are going to be a norm may be in a couple of years.
GM PabloF7z qui n'arrรชte jamais Bonjour rabble de NZ .. Superbe remarque sur X relative ร M. Tweet Excellente journรฉe..
Que faire pour obtenir enfin ce NUP05 et qu'elle extension est rรฉellement adaptรฉe aux mobiles ? Lร oรน c'est trรจs problรฉmatique pour les utilisateurs non issus de la Tech. J'ai dรป investir sur le Bitcoin mais gรฉrรฉ par mon ami techniquement mรชme si tout le monde parle de gestion de clรฉs savez que c'est fort compliquรฉ entre nos autres prรฉoccupations et prioritรฉs de gรฉrer ses clรฉs.. Peut-รชtre je me trompe...
This mode doesn't require any extension and it's architected to work on mobile without any wizardry. The goal of this is to be a workflow that anyone who has been using the internet in the past year can feel very familiar with without learning a bunch of new things, specially when the payoff is not apparent.
Merci beaucoup Pablo de mon cรดtรฉ je peine ร contribuer aux zaps nul n'a pas m'expliquer comment faire avec mon mobile et Getalby pour zapper j'ai notรฉ que WSatodhi ne fonctionne plus sur les usa.. Lequel serait plus adรฉquat sur Android entre Zeus Bolt mutiny etc.. .. Il y en a tellement avec les publicitรฉs rรฉcurrentes de nostriches et clients en fonction d'1 objectif type sur une journรฉe type que je m'y perds rรฉellement et ne pense รชtre la seule. Raison pour laquelle je ne veux point associer mes Bitcoins ร mon compte nostr ๐คจ
Looks truly groundbreaking, but it seems like there could be serious key security concerns here... What's creating their nsec, & how is it being stored?
It could also use some tooltip-style "this is what is happening" explainers throughout.
With nsecBunker, the key is encrypted on the client side.
I think this has the potential to change the way we think about network security. The ride or die freaks think about security differently from organizations. We are all about Szabo's famous quote, "trusted third parties are security holes," and take extreme measures to ensure no one else has access to our keys.
A hospital or any other business has a gazillion people working for them that all need passwords, 2fa, etc. These are often smart people, but they know about as much as cybersecurity as I know about brain surgery.
The way places deal with this is host files in the cloud with a trusted third party who has the most liability they can find. All the hashes of the passwords are stored in a central location, making them an easy target.
From what I understand, this does the opposite. The keys are encrypted on the client, not the server. An attacker needs pysical access to the computer for the key. This mitigates the risk of social engineering attacks. If there is a breach, the key can be revoked.
This won't stop nprmies from writing their password on a post-it under the keyboard, but that's okay. Most of the people in the office have a password of their own. It's still a bad idea, maybe a jealous co-worker finds your password and searches porn sites, but it's less likely to end up on the news.
That's what I think anyway. Please correct me if I'm wrong. I am sure there are some things I've missed too.
Such an improvement in onboarding nice!
Who do you envision will be the nsec bunker providers?
I think any client that sits at the top of the onboarding funnel it would make sense to run these things.
I am planning on building a bunch of non-bitcoiner-focused apps that will leverage this. I think this would also make a lot of sense for something like @npub1zach...5dy5 's Flockstr to run (in fact, Zach came up with a username+password scheme as well but which the strings themselves compute to a key, so you would be essentially logging in to all clients directly with your nsec, which is why I think that approach is problematic, but same goal!)
Makes sense ๐
Is the the nsec bunker provider NIP-89 handler documented anywhere?
Would love to play around with this.
Its quite simple really;
Itโs just a 31990 with a k-tag of the NIP-46 kind (24344 or something) and the 31990 profile data should have a _@domain as its NIP-05 that validly resolves to the pubkey that published the 31990.
If you want to peak under the hood the fans site I showed in the video is already deployed so you can play around with what I used to make the demo video (although Iโm not 100% certain that I deployed the most recent version)
No doubt this approach is the better way to go.
From my experience onboarding people, they often love the idea of nostr but are left wondering what to do next. I think as @rabble suggests, we should rework the nostr.com site to be more of a normie onboarding tool than a dev-focused protocol explainer. Something that clearly outlines a bunch of example nostr usecases beyond traditional microblogging.
If we could build in a great onboarding experience directly on nostr.com, that would be awesome.
ใใใญใใพใใชใใไฝใฃใใ
"ใใใงใฎ็งใฎ็ฎๆจใฏใๆฐใใใฆใผใถใผใซไปฅไธใ่ฆๆฑใใใซใชใณใใผใใใๆนๆณใไฝๆใใใใจใงใใ:
* ใใฉใฆใถๆกๅผตๆฉ่ฝใใคใณในใใผใซใใ
* ็งๅฏใใณใใผใใ
* npub/nsec ใฎๅ
ๅฎนใ่ชฌๆใใ
* ไปใฎ nostr ใขใใชใฑใผใทใงใณใจใฎ็ธไบ้็จๆงใๅคฑใใใจใชใ"
View quoted note โ
This is amazing!
Great PoC Pablo!
As a best practice I would suggest to use only in-page modals, instead of popups; they are quite confusing and some browsers block them.
It can't be an in-browser modal though; it's gotta run in it's own domain. That's why twitter/google/facebook/etc all use a real popup for OAuth flows ๐
Oh right, the same-origin policy stuff!
But you should be able to use modals at least in the process of the account creation, the more critical one, or are there other security concerns?
Or mybe an iframe with a CORS setting on the provider side could be a solution.
Yeah, the account creation part where you enter the email and username etc is in-page modal, but then the password stuff must happen on the popup so the client generating the account canโt see it.
It could be done getting absolutely everything in the client but that increases the trust significantly with the client and you also want the nsecBunker domain to have a cookie to authorize new keys without having to login. Iโd say that would only make sense if the client and nsecBunker provider are the same entity in that case that would be fine.
Got it. Thanks for the details!
@PABLOF7z you should put this great article by @npub1t0ny...jgqv on the homepage of nescbunker.com, it is a very useful introductory reading:
https://njump.me/naddr1qqxkuum9vd382mntv4ez6a3jqgs87hptfey2p607ef36g6cnekuzfz05qgpe34s2ypc2j6x24qvdwhgrqsqqqa289pnwyp
View quoted note โ
Faaans, it reminds me of fangage.com.
I really love this onboarding flow! It would be even better if there's no popup involved in the future.
Love the dedication to user experience. This is the way.
๐ค๐ค๐ค๐ค
Thank you, sir. Your words carry a lot of weight for me, as you are probably well aware โค๏ธ
@PABLOF7z youโre always right on time. I donโt think Iโve ever seen a post of yours that wasnโt zap worthy. We are so lucky to have people like you, putting in the work, and making yourself visible and reachable to every pleb. Itโs such a beautiful thing. Thank YOU Pablo.๐ซก
@PABLOF7z do you have any resources on how recovery would work in case they need to via email? Iโm not quite able to understand that interaction with nsecbunker