{"html_url": "https://github.com/simonw/datasette/issues/825#issuecomment-641406944", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/825", "id": 641406944, "node_id": "MDEyOklzc3VlQ29tbWVudDY0MTQwNjk0NA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-06-09T16:12:02Z", "updated_at": "2020-06-09T17:19:19Z", "author_association": "OWNER", "body": "Alternative design: leave actor alone. Instead specify that allow blocks can look like this:\r\n\r\n```json\r\n{\r\n \"allow\": {\r\n \"unauthenticated\": true\r\n }\r\n}\r\n```\r\n\r\nI like this: the above block is very self-documenting.\r\n\r\nThe `\"id\": \"*\"` mechanism means there is already precedent for allow keys with special meaning.\r\n\r\n**I'm going with this design.**", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 635147716, "label": "Way to enable a default=False permission for anonymous users"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/825#issuecomment-641452563", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/825", "id": 641452563, "node_id": "MDEyOklzc3VlQ29tbWVudDY0MTQ1MjU2Mw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-06-09T17:08:00Z", "updated_at": "2020-06-09T17:08:00Z", "author_association": "OWNER", "body": "https://datasette.readthedocs.io/en/latest/authentication.html#defining-permissions-with-allow-blocks", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 635147716, "label": "Way to enable a default=False permission for anonymous users"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/825#issuecomment-641449725", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/825", "id": 641449725, "node_id": "MDEyOklzc3VlQ29tbWVudDY0MTQ0OTcyNQ==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-06-09T17:02:31Z", "updated_at": "2020-06-09T17:02:31Z", "author_association": "OWNER", "body": "Documented at the bottom of this section: https://github.com/simonw/datasette/blob/7633b9ab249b2dce5ee0b4fcf9542c13a1703ef0/docs/authentication.rst#defining-permissions-with-allow-blocks", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 635147716, "label": "Way to enable a default=False permission for anonymous users"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/825#issuecomment-641412424", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/825", "id": 641412424, "node_id": "MDEyOklzc3VlQ29tbWVudDY0MTQxMjQyNA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-06-09T16:22:07Z", "updated_at": "2020-06-09T16:22:07Z", "author_association": "OWNER", "body": "When I implement this I should also document default allow vs default deny as a concept, and specify that default next to every documented permission.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 635147716, "label": "Way to enable a default=False permission for anonymous users"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/825#issuecomment-641320947", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/825", "id": 641320947, "node_id": "MDEyOklzc3VlQ29tbWVudDY0MTMyMDk0Nw==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-06-09T14:06:46Z", "updated_at": "2020-06-09T14:06:46Z", "author_association": "OWNER", "body": "I'm torn between `anonymous` and `anon` - because the latter is less typing, and I envisage people writing a lot of code like this:\r\n\r\n```python\r\n if actor.get(\"anonymous\"):\r\n # ...\r\n```\r\n\r\nI'm going with `anonymous` because it's that tiny bit clearer than `anon`.", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 635147716, "label": "Way to enable a default=False permission for anonymous users"}, "performed_via_github_app": null} {"html_url": "https://github.com/simonw/datasette/issues/825#issuecomment-641062164", "issue_url": "https://api.github.com/repos/simonw/datasette/issues/825", "id": 641062164, "node_id": "MDEyOklzc3VlQ29tbWVudDY0MTA2MjE2NA==", "user": {"value": 9599, "label": "simonw"}, "created_at": "2020-06-09T06:30:24Z", "updated_at": "2020-06-09T14:05:33Z", "author_association": "OWNER", "body": "Idea: the anonymous actor could be passed to `actor_matches_allow()` as:\r\n\r\n```json\r\n{\"anonymous\": true}\r\n```\r\n\r\nThen allow blocks like this could be used to allow them:\r\n\r\n```json\r\n{\r\n \"plugins\": {\r\n \"datasette-upload-csvs\": {\r\n \"allow\": {\r\n \"anonymous\": true\r\n }\r\n }\r\n }\r\n}\r\n```", "reactions": "{\"total_count\": 0, \"+1\": 0, \"-1\": 0, \"laugh\": 0, \"hooray\": 0, \"confused\": 0, \"heart\": 0, \"rocket\": 0, \"eyes\": 0}", "issue": {"value": 635147716, "label": "Way to enable a default=False permission for anonymous users"}, "performed_via_github_app": null}