Can someone explain me why my #NIP-05 verification doesn't seem to work? I am using a JSON file at my domain tomgag.net but I see a red exclamation mark next to it (on #Amethyst )

Reply to this note

Please Login to reply.

Discussion

Did you change your server Acces-Control-Allow-Origin header to * ? If not, clients can't reach the JSON for domain verification.

Your JSON looks fine, but your CORS configuration is missing the header setting I mentioned above. Here's your CORS test result. It tells you how to fix it at the bottom:

https://cors-test.codehappy.dev/?url=https%3A%2F%2Ftomgag.net%2F.well-known%2Fnostr.json%3Fname%3D_&method=get

nostr:nprofile1qqspwwwexlwgcrrnwz4zwkze8rq3ncjug8mvgsd96dxx6wzs8ccndmcpzamhxue69uhkv6tvw3jhytnwdaehgu3wwa5kuegpp4mhxue69uhkummn9ekx7mqpzpmhxue69uhkummnw3ezuamfdejsul2dhz's NIP-05 guide also includes this header requirement in the last paragraph:

https://nostr.how/en/guides/get-verified

Amazing, thanks, I missed that! Now the CORS tester greenlights, bit I still cannot see myself as verified in both Coracle and Amethyst, I hope it's just a matter of time for the client to fetch the updated status?

No, it should be immediate. I see two possible additional issues:

(1) Your name has a space in the JSON. Use an underscore. I would also reduce everything to lower case.

(2) Add that exact name to your client NIP-05 field. Currently, you just have tomgag.net. It should be something like tom@tomgag.net where "tom" matches the name you input into that JSON.

I'm trying to follow https://github.com/nostr-protocol/nips/blob/master/05.md in particular at the section "Showing just the domain as an identifier" so I use _@tomgag.net in my profile's NIP-05 field. Basically I would like people to tag me with @tomgag.net rather than something@tomgag.net . Am I doing it wrong?

I've never used the bare domain, so you might have to experiment. As I read NIP-05, bare domain support is not a "must," so it might not be supported by all clients. Not sure what you'd place in the JSON name field. Just an underscore, maybe?

Just ran some checks. That's exactly what you have to do if you use _@domain.xyz

You need this in your JSON:

"_": "90d935...

Amazing! It works! Thanks ^^