HelloZeroNet / HelloZeroNet/ZeroNet

Ability to login via Multiuser plugin easily over Websocket

Aperta
#1,902 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
JavaScript
Stelle
18.8k
Fork
2.3k
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Currently the Multiuser plugin's API is quite browser-specific. From reverse-engineering how it works, I've discovered that to login via Multiuser you must:

* you login by calling "userLoginForm" and receiving a prompt containing HTML
* ignore the HTML and respond to the prompt with a private key
* the plugin converts this private key to a master_seed and a master_address
* the plugin creates some javascript to load the master_address into your browser's cookies
* it sends that javascript back to you
* now on subsequent requests you're supposed to send the master_address as a cookie (called "master_address")

This isn't too complicated (though extracting the master_address from the returned JS is a little horrible), but the real problem comes in when some WebSocket clients don't support setting cookies.

Is it possible to have a different method of authenticating one's requests to Multiuser? I agree cookies are quite elegant, and keep the request payload clean, but it makes things tricky for non-browser clients.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Start by reviewing the Multiuser plugin flow described here, especially userLoginForm, the returned JavaScript, master_address cookies, and the WebSocket client constraint. Define an alternative request-authentication method that works for clients unable to set cookies, then verify that subsequent Multiuser requests can authenticate without browser-specific cookie handling.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
javascript
Ambito
api, authentication
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.