As far as I know, IndieAuth[0] is the open source solution for this.
I've wondered how well it would work on a forum like HN, both for account authentication (making the forum simpler by not requiring passwords) and for identity validation when necessary (for example, highlighting the owner of a project or site.)
OK one more time! It's working for me right now -- I see the odd out of time error in the logs but the errors are mostly gone now:
[Nest] 41 - 01/14/2022, 2:46:01 AM DEBUG [V1HNController] received polling status request for display token [E7tvuXJkkt]
[Nest] 41 - 01/14/2022, 2:46:06 AM ERROR [LoginService] Error occurred while checking for HN profile page update: Error: Exceeded max checks [10] (delayMs: 30000)
[Nest] 41 - 01/14/2022, 2:46:11 AM DEBUG [V1HNController] received polling status request for display token [E7tvuXJkkt]
[Nest] 41 - 01/14/2022, 2:46:36 AM DEBUG [V1HNController] received polling status request for display token [E7tvuXJkkt]
[Nest] 41 - 01/14/2022, 2:46:42 AM DEBUG [V1HNController] received polling status request for display token [E7tvuXJkkt]
[Nest] 41 - 01/14/2022, 2:46:51 AM DEBUG [V1HNController] received polling status request for display token [unNyaItKHU]
[Nest] 41 - 01/14/2022, 2:47:20 AM DEBUG [V1HNController] received polling status request for display token [e4DMemS2HG]
[Nest] 41 - 01/14/2022, 2:47:30 AM DEBUG [V1HNController] received polling status request for display token [62553gB7GW]
[Nest] 41 - 01/14/2022, 2:47:48 AM DEBUG [V1HNController] received polling status request for display token [unNyaItKHU]
[Nest] 41 - 01/14/2022, 2:47:57 AM DEBUG [V1HNController] received polling status request for display token [dcKr3LelxA]
[Nest] 41 - 01/14/2022, 2:48:22 AM DEBUG [V1HNController] received polling status request for display token [dcKr3LelxA]
[Nest] 41 - 01/14/2022, 2:48:37 AM DEBUG [V1HNController] received polling status request for display token [dcKr3LelxA]
[Nest] 41 - 01/14/2022, 2:48:52 AM DEBUG [V1HNController] received polling status request for display token [dcKr3LelxA]
[Nest] 41 - 01/14/2022, 2:49:15 AM DEBUG [V1HNController] received polling status request for display token [e4DMemS2HG]
[Nest] 41 - 01/14/2022, 2:49:22 AM DEBUG [V1ConsentController] retrieving data for consent challenge request [<redacted>]
[Nest] 41 - 01/14/2022, 2:49:22 AM DEBUG [V1ConsentController] successful consent denial for user [hardwaresofton]
[Nest] 41 - 01/14/2022, 2:50:30 AM DEBUG [V1HNController] received polling status request for display token [62553gB7GW]
[Nest] 41 - 01/14/2022, 2:50:50 AM DEBUG [V1HNController] received polling status request for display token [ZAvILvhGhg]
[Nest] 41 - 01/14/2022, 2:50:58 AM DEBUG [V1HNController] received polling status request for display token [unNyaItKHU]
[Nest] 41 - 01/14/2022, 2:51:49 AM DEBUG [V1HNController] received polling status request for display token [qy4LrME0ny]
[Nest] 41 - 01/14/2022, 2:52:24 AM DEBUG [V1LoginController] received start login request [zzc]
[Nest] 41 - 01/14/2022, 2:52:24 AM DEBUG [V1LoginController] saved login request challenge with ID [<redacted>]
[Nest] 41 - 01/14/2022, 2:52:26 AM DEBUG [V1HNController] received polling status request for display token [lBEUPtqdVF]
[Nest] 41 - 01/14/2022, 2:52:30 AM DEBUG [V1HNController] received polling status request for display token [62553gB7GW
Really appreciate you trying again -- I just did it myself and it was a long ~1min but it did work (in fact you can see me deny the consent actually in the logs :).
And for the keen in here, yeah I'm running NestJS[0] -- this thing is over-engineered and some bugs still snuck through.