HelloZeroNet / HelloZeroNet/ZeroNet
Ability to login via Multiuser plugin easily over Websocket
- 主要语言
- JavaScript
- 星标
- 18.8k
- 派生
- 2.3k
- PR 合并指标
- 30 天内没有已合并 PR
描述
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.
贡献指南
这个仓库没有索引到贡献指南
调研方向
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.
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- javascript
- 领域
- api, authentication
- Issue 类型
- 功能
- 难度
- 5/5
- 预计耗时
- 一周以上
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 25/100