on master help sign in
Merge pull request #1150 from urbit/mike/authenticate-with-urbit

Add authenticate with urbit gall app proposal

commitc9fd536f34404508e464d8b77413f7c41458d8d0 authormikeosborne <mike@urbit.org> dateThu 23 Sep 2021, 13:34 (5 years ago) parent29d41e149c9d60
1 file changed+36
content/grants/authenticate-with-urbit.md+36
content/grants/authenticate-with-urbit.mdnew file+36
@@ -0,0 +1,36 @@
1++++
2+title = "Authenticate with Urbit Gall App"
3+date = "2021-09-16"
4+[taxonomies]
5+grant_type = ["Proposal"]
6+grant_category = ["App Dev: Other"]
7+[extra]
8+image = ""
9+description = "Exernal service/websites can verify that a user is who they say they are"
10+reward = 1
11+assignee = "~mocrux-momdep"
12+grant_id = "P0081"
13+completed = false
14+canceled = false
15+link = ""
16++++
17+
18+## Authenticate with Urbit Gall App
19+
20+The authenticate with Urbit ID gall app will allow external services/websites to verify that a user is who they say they are via their running ship. In other words, the website will be able to integrate this gall app/exposed endpoints with their existing login process to allow users to "Login With Urbit".
21+
22+These websites need to be able to confirm with 100% certainty that a person owns the Urbit ship they claim to own, or else users can spoof and trick sites into thinking they are someone else. As such the gall app will enable identity verification via a streamlined process and will simply expose web server endpoints for the website back end to plug into (no airlock integration required).
23+
24+We are choosing to implement a gall app instead of using using cryptography and crypto keys explicitly because it narrows down the complexity, skips requiring websites being forced to follow the Ethereum chain, and improves the UX considerably for end users. If we used crypto keys to check for identity, users would be required to have an Ethereum wallet installed in their web browser, ensure it has their software wallet keys or hardware wallet connected with their Urbit ID, and have to go through a multi-step process to sign a message to prove their identity every single time they want to login.
25+
26+Furthermore with naive rollups on the way, this would leave out everyone on the rollups from being able to login using this scheme. This likewise would also be the case for users who jump into the Urbit ecosystem via an Urbit hosting service. As such we ruled out going down said route.
27+
28+Instead we will be using the user’s running ship to authenticate them over the Urbit network itself. This will provide users a simple experience for logging themselves in to standard database-driven websites securely.Expected completion:
29+
30+## Milestones
31+
32+### Milestone 1 - Develop and deploy app
33+
34+Expected Completion:
35+
36+Payment: 1 star