HelloZeroNet / HelloZeroNet/ZeroNet

Ability to login via Multiuser plugin easily over Websocket

未关闭
#1,902 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
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

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。