on master help sign in
Merge pull request #1508 from urbit/thelifeandtimes-web-permissioning

Create general-web-permissions

commitad1c39352e40fc3a4795e8f0d25224916e0d8bcd authortacryt-socryp <1377557+tacryt-socryp@users.noreply.github.com> dateMon 16 May 2022, 13:55 (4 years ago) parenta8eaf79dc10dce
1 file changed+36
content/grants/general-web-permissions.md+36
content/grants/general-web-permissions.mdnew file+36
@@ -0,0 +1,36 @@
1++++
2+
3+title = "General Website Permissioning"
4+date = "2022-05-10"
5+
6+[taxonomies]
7+grant_type = ["Proposal"]
8+grant_category = ["App Dev: Other"]
9+
10+[extra]
11+image = ""
12+description = "Enabling the ability to log in and view private or user-specific content"
13+reward = "3 stars"
14+assignee = "~tirrel"
15+champion = "~tacryt-socryp"
16+grant_id = "P0169"
17+completed = false
18+canceled = false
19+link = ""
20+
21++++
22+
23+# Rationale
24+A common pattern on websites of all kinds is the ability to log in and view private or user-specific content. Having the ability to require permission to access webpages and digital content is a powerful primitive for extending Urbit’s web publishing capabilities. As such, we’re building the `%auth` agent, an extensible user-login system that will start by supporting magic link login. In other words, it maintains a list of email addresses with permission to view some particular content, and if someone wants to view the content, they can enter their email address and receive a link that will take them to the content page.
25+
26+# Implementation
27+
28+Create an `%auth` agent that keeps track of usernames, HTTP cookies for their login, and sets timers to expire those cookies.
29+
30+## User Stories:
31+- I want to give access to my Studio web blog only to a small list of my friends.
32+- I want to sell access to my Studio web blog to paying subscribers and use an out-of-band payment for them to be added to the user list.
33+
34+# Milestones and Compensation
35+
36+June 2022 - Payment 3 stars - Auth agent is complete and supports magic link login. Auth agent may be used to permission access to Studio webpages or be used elsewhere.