HelloZeroNet / HelloZeroNet/ZeroNet
Ability to login via Multiuser plugin easily over Websocket
- 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