fairDataSociety / FIPs

Fair Data Society Requests for Comments repository.
5 stars 9 forks source link

Mobile app authentication #12

Open TheBojda opened 2 years ago

TheBojda commented 2 years ago

In your proposal (https://github.com/fairDataSociety/FIPs/blob/master/text/0001-fdp-roadmap.md) a browser extension is used to store user credentials. My idea is to use a mobile app instead of a browser extension.

My hypothetical mobile app is very simple. It can do only one thing: sign a message. The app can store and manage multiple Ethereum private keys that can represent multiple identities.

When a dApp authenticates a user, it generates a JSON that contains the message and a response URL and shows a QR code that points to the URL of this JSON.

The user can scan this QR code with the mobile app, that signs the message and send back the signed message to the response URL. (The client-side polls the server, and login him.)

Cons:

Pros:

crtahlin commented 2 years ago

From meeting:

Comment: Check existing bounties for overlap; this is similar to walletconnect (?).

Todo: First explore if everything works in mobile browser as expected. And research what would be needed to support mobile devices and compile research in this issue. We will then rethink on how to tackle mobile platforms.

molekilla commented 2 years ago

@crtahlin @tfius We should accept this bounty and continue adding features, https://github.com/hhio618/fdp-mobile

crtahlin commented 2 years ago

@molekilla which bounty are you referring to? Also, some feedback was expected - see "Todo" section in previous comment. Specifically at least, if it works.

molekilla commented 2 years ago

Hi,

You could implement some parts, not all, eg QR interaction, from WACI https://identity.foundation/waci-didcomm/

A WalletConnect approach is doable but the WebSockets server is centralized. You will need to message between the desktop and mobile/hardware. Tech you could use for that is Swarm Feeds or decentralized messaging like Waku with waku nodes.

This could be a bounty but might required some help with getting the messaging abstraction with feeds.