solid-server 5.6.9-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/.acl +10 -0
  2. package/.github/workflows/ci.yml +47 -0
  3. package/.nvmrc +1 -0
  4. package/.snyk +35 -0
  5. package/.well-known/.acl +15 -0
  6. package/CHANGELOG.md +198 -0
  7. package/CONTRIBUTING.md +139 -0
  8. package/CONTRIBUTORS.md +36 -0
  9. package/Dockerfile +22 -0
  10. package/LICENSE.md +23 -0
  11. package/README.md +453 -0
  12. package/bin/lib/cli-utils.js +85 -0
  13. package/bin/lib/cli.js +39 -0
  14. package/bin/lib/init.js +94 -0
  15. package/bin/lib/invalidUsernames.js +148 -0
  16. package/bin/lib/migrateLegacyResources.js +69 -0
  17. package/bin/lib/options.js +399 -0
  18. package/bin/lib/start.js +148 -0
  19. package/bin/lib/updateIndex.js +56 -0
  20. package/bin/solid +3 -0
  21. package/bin/solid-test +12 -0
  22. package/bin/solid.js +3 -0
  23. package/common/css/solid.css +58 -0
  24. package/common/fonts/glyphicons-halflings-regular.eot +0 -0
  25. package/common/fonts/glyphicons-halflings-regular.svg +288 -0
  26. package/common/fonts/glyphicons-halflings-regular.ttf +0 -0
  27. package/common/fonts/glyphicons-halflings-regular.woff +0 -0
  28. package/common/fonts/glyphicons-halflings-regular.woff2 +0 -0
  29. package/common/img/.gitkeep +0 -0
  30. package/common/js/auth-buttons.js +65 -0
  31. package/common/js/solid.js +454 -0
  32. package/common/well-known/security.txt +2 -0
  33. package/config/defaults.js +25 -0
  34. package/config/usernames-blacklist.json +4 -0
  35. package/config.json-default +22 -0
  36. package/default-templates/emails/delete-account.js +49 -0
  37. package/default-templates/emails/invalid-username.js +30 -0
  38. package/default-templates/emails/reset-password.js +49 -0
  39. package/default-templates/emails/welcome.js +39 -0
  40. package/default-templates/new-account/.acl +26 -0
  41. package/default-templates/new-account/.meta +5 -0
  42. package/default-templates/new-account/.meta.acl +25 -0
  43. package/default-templates/new-account/.well-known/.acl +19 -0
  44. package/default-templates/new-account/favicon.ico +0 -0
  45. package/default-templates/new-account/favicon.ico.acl +26 -0
  46. package/default-templates/new-account/inbox/.acl +26 -0
  47. package/default-templates/new-account/private/.acl +10 -0
  48. package/default-templates/new-account/profile/.acl +19 -0
  49. package/default-templates/new-account/profile/card$.ttl +25 -0
  50. package/default-templates/new-account/public/.acl +19 -0
  51. package/default-templates/new-account/robots.txt +3 -0
  52. package/default-templates/new-account/robots.txt.acl +26 -0
  53. package/default-templates/new-account/settings/.acl +20 -0
  54. package/default-templates/new-account/settings/prefs.ttl +15 -0
  55. package/default-templates/new-account/settings/privateTypeIndex.ttl +4 -0
  56. package/default-templates/new-account/settings/publicTypeIndex.ttl +4 -0
  57. package/default-templates/new-account/settings/publicTypeIndex.ttl.acl +25 -0
  58. package/default-templates/new-account/settings/serverSide.ttl.acl +13 -0
  59. package/default-templates/new-account/settings/serverSide.ttl.inactive +12 -0
  60. package/default-templates/server/.acl +10 -0
  61. package/default-templates/server/.well-known/.acl +15 -0
  62. package/default-templates/server/favicon.ico +0 -0
  63. package/default-templates/server/favicon.ico.acl +15 -0
  64. package/default-templates/server/index.html +55 -0
  65. package/default-templates/server/robots.txt +3 -0
  66. package/default-templates/server/robots.txt.acl +15 -0
  67. package/default-views/account/account-deleted.hbs +17 -0
  68. package/default-views/account/delete-confirm.hbs +51 -0
  69. package/default-views/account/delete-link-sent.hbs +17 -0
  70. package/default-views/account/delete.hbs +51 -0
  71. package/default-views/account/invalid-username.hbs +22 -0
  72. package/default-views/account/register-disabled.hbs +6 -0
  73. package/default-views/account/register-form.hbs +132 -0
  74. package/default-views/account/register.hbs +24 -0
  75. package/default-views/auth/auth-hidden-fields.hbs +8 -0
  76. package/default-views/auth/change-password.hbs +58 -0
  77. package/default-views/auth/goodbye.hbs +23 -0
  78. package/default-views/auth/login-required.hbs +34 -0
  79. package/default-views/auth/login-tls.hbs +11 -0
  80. package/default-views/auth/login-username-password.hbs +28 -0
  81. package/default-views/auth/login.hbs +55 -0
  82. package/default-views/auth/no-permission.hbs +29 -0
  83. package/default-views/auth/password-changed.hbs +27 -0
  84. package/default-views/auth/reset-link-sent.hbs +21 -0
  85. package/default-views/auth/reset-password.hbs +52 -0
  86. package/default-views/auth/sharing.hbs +49 -0
  87. package/default-views/shared/create-account.hbs +8 -0
  88. package/default-views/shared/error.hbs +5 -0
  89. package/docs/how-to-delete-your-account.md +56 -0
  90. package/docs/login-and-grant-access-to-application.md +32 -0
  91. package/examples/custom-error-handling.js +31 -0
  92. package/examples/ldp-with-webid.js +12 -0
  93. package/examples/simple-express-app.js +20 -0
  94. package/examples/simple-ldp-server.js +8 -0
  95. package/favicon.ico +0 -0
  96. package/favicon.ico.acl +15 -0
  97. package/index.html +48 -0
  98. package/index.js +3 -0
  99. package/lib/acl-checker.js +274 -0
  100. package/lib/api/accounts/user-accounts.js +88 -0
  101. package/lib/api/authn/force-user.js +21 -0
  102. package/lib/api/authn/index.js +5 -0
  103. package/lib/api/authn/webid-oidc.js +202 -0
  104. package/lib/api/authn/webid-tls.js +69 -0
  105. package/lib/api/index.js +6 -0
  106. package/lib/capability-discovery.js +54 -0
  107. package/lib/common/fs-utils.js +43 -0
  108. package/lib/common/template-utils.js +50 -0
  109. package/lib/common/user-utils.js +28 -0
  110. package/lib/create-app.js +322 -0
  111. package/lib/create-server.js +107 -0
  112. package/lib/debug.js +17 -0
  113. package/lib/handlers/allow.js +82 -0
  114. package/lib/handlers/auth-proxy.js +63 -0
  115. package/lib/handlers/copy.js +39 -0
  116. package/lib/handlers/cors-proxy.js +95 -0
  117. package/lib/handlers/delete.js +23 -0
  118. package/lib/handlers/error-pages.js +212 -0
  119. package/lib/handlers/get.js +219 -0
  120. package/lib/handlers/index.js +42 -0
  121. package/lib/handlers/options.js +33 -0
  122. package/lib/handlers/patch/n3-patch-parser.js +49 -0
  123. package/lib/handlers/patch/sparql-update-parser.js +16 -0
  124. package/lib/handlers/patch.js +203 -0
  125. package/lib/handlers/post.js +99 -0
  126. package/lib/handlers/put.js +56 -0
  127. package/lib/handlers/restrict-to-top-domain.js +13 -0
  128. package/lib/header.js +136 -0
  129. package/lib/http-error.js +34 -0
  130. package/lib/ldp-container.js +161 -0
  131. package/lib/ldp-copy.js +73 -0
  132. package/lib/ldp-middleware.js +32 -0
  133. package/lib/ldp.js +620 -0
  134. package/lib/lock.js +10 -0
  135. package/lib/metadata.js +10 -0
  136. package/lib/models/account-manager.js +603 -0
  137. package/lib/models/account-template.js +152 -0
  138. package/lib/models/authenticator.js +333 -0
  139. package/lib/models/oidc-manager.js +53 -0
  140. package/lib/models/solid-host.js +131 -0
  141. package/lib/models/user-account.js +112 -0
  142. package/lib/models/webid-tls-certificate.js +184 -0
  143. package/lib/payment-pointer-discovery.js +83 -0
  144. package/lib/requests/add-cert-request.js +138 -0
  145. package/lib/requests/auth-request.js +234 -0
  146. package/lib/requests/create-account-request.js +468 -0
  147. package/lib/requests/delete-account-confirm-request.js +170 -0
  148. package/lib/requests/delete-account-request.js +144 -0
  149. package/lib/requests/login-request.js +205 -0
  150. package/lib/requests/password-change-request.js +201 -0
  151. package/lib/requests/password-reset-email-request.js +199 -0
  152. package/lib/requests/sharing-request.js +259 -0
  153. package/lib/resource-mapper.js +198 -0
  154. package/lib/server-config.js +167 -0
  155. package/lib/services/blacklist-service.js +33 -0
  156. package/lib/services/email-service.js +162 -0
  157. package/lib/services/token-service.js +47 -0
  158. package/lib/utils.js +254 -0
  159. package/lib/webid/index.js +13 -0
  160. package/lib/webid/lib/get.js +27 -0
  161. package/lib/webid/lib/parse.js +12 -0
  162. package/lib/webid/tls/index.js +185 -0
  163. package/package.json +172 -0
  164. package/renovate.json +5 -0
  165. package/robots.txt +3 -0
  166. package/robots.txt.acl +15 -0
  167. package/static/account-recovery.html +78 -0
  168. package/static/popup-redirect.html +1 -0
  169. package/static/signup.html +108 -0
  170. package/static/signup.html.acl +14 -0
@@ -0,0 +1,5 @@
1
+ # Root Meta resource for the user account
2
+ # Used to discover the account's WebID URI, given the account URI
3
+ <{{webId}}>
4
+ <http://www.w3.org/ns/solid/terms#account>
5
+ </>.
@@ -0,0 +1,25 @@
1
+ # ACL resource for the Root Meta
2
+ # Should be public-readable (since the root meta is used for WebID discovery)
3
+
4
+ @prefix acl: <http://www.w3.org/ns/auth/acl#>.
5
+ @prefix foaf: <http://xmlns.com/foaf/0.1/>.
6
+
7
+ <#owner>
8
+ a acl:Authorization;
9
+
10
+ acl:agent
11
+ <{{webId}}>;
12
+
13
+ acl:accessTo </.meta>;
14
+
15
+ acl:mode
16
+ acl:Read, acl:Write, acl:Control.
17
+
18
+ <#public>
19
+ a acl:Authorization;
20
+
21
+ acl:agentClass foaf:Agent; # everyone
22
+
23
+ acl:accessTo </.meta>;
24
+
25
+ acl:mode acl:Read.
@@ -0,0 +1,19 @@
1
+ # ACL resource for the well-known folder
2
+ @prefix acl: <http://www.w3.org/ns/auth/acl#>.
3
+ @prefix foaf: <http://xmlns.com/foaf/0.1/>.
4
+
5
+ # The owner has all permissions
6
+ <#owner>
7
+ a acl:Authorization;
8
+ acl:agent <{{webId}}>;
9
+ acl:accessTo <./>;
10
+ acl:defaultForNew <./>;
11
+ acl:mode acl:Read, acl:Write, acl:Control.
12
+
13
+ # The public has read permissions
14
+ <#public>
15
+ a acl:Authorization;
16
+ acl:agentClass foaf:Agent;
17
+ acl:accessTo <./>;
18
+ acl:defaultForNew <./>;
19
+ acl:mode acl:Read.
@@ -0,0 +1,26 @@
1
+ # ACL for the default favicon.ico resource
2
+ # Individual users will be able to override it as they wish
3
+ # Public-readable
4
+
5
+ @prefix acl: <http://www.w3.org/ns/auth/acl#>.
6
+ @prefix foaf: <http://xmlns.com/foaf/0.1/>.
7
+
8
+ <#owner>
9
+ a acl:Authorization;
10
+
11
+ acl:agent
12
+ <{{webId}}>;
13
+
14
+ acl:accessTo </favicon.ico>;
15
+
16
+ acl:mode
17
+ acl:Read, acl:Write, acl:Control.
18
+
19
+ <#public>
20
+ a acl:Authorization;
21
+
22
+ acl:agentClass foaf:Agent; # everyone
23
+
24
+ acl:accessTo </favicon.ico>;
25
+
26
+ acl:mode acl:Read.
@@ -0,0 +1,26 @@
1
+ # ACL resource for the profile Inbox
2
+
3
+ @prefix acl: <http://www.w3.org/ns/auth/acl#>.
4
+ @prefix foaf: <http://xmlns.com/foaf/0.1/>.
5
+
6
+ <#owner>
7
+ a acl:Authorization;
8
+
9
+ acl:agent
10
+ <{{webId}}>;
11
+
12
+ acl:accessTo <./>;
13
+ acl:default <./>;
14
+
15
+ acl:mode
16
+ acl:Read, acl:Write, acl:Control.
17
+
18
+ # Public-appendable but NOT public-readable
19
+ <#public>
20
+ a acl:Authorization;
21
+
22
+ acl:agentClass foaf:Agent; # everyone
23
+
24
+ acl:accessTo <./>;
25
+
26
+ acl:mode acl:Append.
@@ -0,0 +1,10 @@
1
+ # ACL resource for the private folder
2
+ @prefix acl: <http://www.w3.org/ns/auth/acl#>.
3
+
4
+ # The owner has all permissions
5
+ <#owner>
6
+ a acl:Authorization;
7
+ acl:agent <{{webId}}>;
8
+ acl:accessTo <./>;
9
+ acl:default <./>;
10
+ acl:mode acl:Read, acl:Write, acl:Control.
@@ -0,0 +1,19 @@
1
+ # ACL resource for the profile folder
2
+ @prefix acl: <http://www.w3.org/ns/auth/acl#>.
3
+ @prefix foaf: <http://xmlns.com/foaf/0.1/>.
4
+
5
+ # The owner has all permissions
6
+ <#owner>
7
+ a acl:Authorization;
8
+ acl:agent <{{webId}}>;
9
+ acl:accessTo <./>;
10
+ acl:default <./>;
11
+ acl:mode acl:Read, acl:Write, acl:Control.
12
+
13
+ # The public has read permissions
14
+ <#public>
15
+ a acl:Authorization;
16
+ acl:agentClass foaf:Agent;
17
+ acl:accessTo <./>;
18
+ acl:default <./>;
19
+ acl:mode acl:Read.
@@ -0,0 +1,25 @@
1
+ @prefix solid: <http://www.w3.org/ns/solid/terms#>.
2
+ @prefix foaf: <http://xmlns.com/foaf/0.1/>.
3
+ @prefix pim: <http://www.w3.org/ns/pim/space#>.
4
+ @prefix schema: <http://schema.org/>.
5
+ @prefix ldp: <http://www.w3.org/ns/ldp#>.
6
+
7
+ <>
8
+ a foaf:PersonalProfileDocument ;
9
+ foaf:maker <{{webId}}> ;
10
+ foaf:primaryTopic <{{webId}}> .
11
+
12
+ <{{webId}}>
13
+ a foaf:Person ;
14
+ a schema:Person ;
15
+
16
+ foaf:name "{{name}}" ;
17
+
18
+ solid:account </> ; # link to the account uri
19
+ pim:storage </> ; # root storage
20
+
21
+ ldp:inbox </inbox/> ;
22
+
23
+ pim:preferencesFile </settings/prefs.ttl> ; # private settings/preferences
24
+ solid:publicTypeIndex </settings/publicTypeIndex.ttl> ;
25
+ solid:privateTypeIndex </settings/privateTypeIndex.ttl> .
@@ -0,0 +1,19 @@
1
+ # ACL resource for the public folder
2
+ @prefix acl: <http://www.w3.org/ns/auth/acl#>.
3
+ @prefix foaf: <http://xmlns.com/foaf/0.1/>.
4
+
5
+ # The owner has all permissions
6
+ <#owner>
7
+ a acl:Authorization;
8
+ acl:agent <{{webId}}>;
9
+ acl:accessTo <./>;
10
+ acl:default <./>;
11
+ acl:mode acl:Read, acl:Write, acl:Control.
12
+
13
+ # The public has read permissions
14
+ <#public>
15
+ a acl:Authorization;
16
+ acl:agentClass foaf:Agent;
17
+ acl:accessTo <./>;
18
+ acl:default <./>;
19
+ acl:mode acl:Read.
@@ -0,0 +1,3 @@
1
+ User-agent: *
2
+ # Allow all crawling (subject to ACLs as usual, of course)
3
+ Disallow:
@@ -0,0 +1,26 @@
1
+ # ACL for the default robots.txt resource
2
+ # Individual users will be able to override it as they wish
3
+ # Public-readable
4
+
5
+ @prefix acl: <http://www.w3.org/ns/auth/acl#>.
6
+ @prefix foaf: <http://xmlns.com/foaf/0.1/>.
7
+
8
+ <#owner>
9
+ a acl:Authorization;
10
+
11
+ acl:agent
12
+ <{{webId}}>;
13
+
14
+ acl:accessTo </robots.txt>;
15
+
16
+ acl:mode
17
+ acl:Read, acl:Write, acl:Control.
18
+
19
+ <#public>
20
+ a acl:Authorization;
21
+
22
+ acl:agentClass foaf:Agent; # everyone
23
+
24
+ acl:accessTo </robots.txt>;
25
+
26
+ acl:mode acl:Read.
@@ -0,0 +1,20 @@
1
+ # ACL resource for the /settings/ container
2
+ @prefix acl: <http://www.w3.org/ns/auth/acl#>.
3
+
4
+ <#owner>
5
+ a acl:Authorization;
6
+
7
+ acl:agent
8
+ <{{webId}}>;
9
+
10
+ # Set the access to the root storage folder itself
11
+ acl:accessTo <./>;
12
+
13
+ # All settings resources will be private, by default, unless overridden
14
+ acl:default <./>;
15
+
16
+ # The owner has all of the access modes allowed
17
+ acl:mode
18
+ acl:Read, acl:Write, acl:Control.
19
+
20
+ # Private, no public access modes
@@ -0,0 +1,15 @@
1
+ @prefix dct: <http://purl.org/dc/terms/>.
2
+ @prefix pim: <http://www.w3.org/ns/pim/space#>.
3
+ @prefix foaf: <http://xmlns.com/foaf/0.1/>.
4
+ @prefix solid: <http://www.w3.org/ns/solid/terms#>.
5
+
6
+ <>
7
+ a pim:ConfigurationFile;
8
+
9
+ dct:title "Preferences file" .
10
+
11
+ {{#if email}}<{{webId}}> foaf:mbox <mailto:{{{email}}}> .{{/if}}
12
+
13
+ <{{webId}}>
14
+ solid:publicTypeIndex <publicTypeIndex.ttl> ;
15
+ solid:privateTypeIndex <privateTypeIndex.ttl> .
@@ -0,0 +1,4 @@
1
+ @prefix solid: <http://www.w3.org/ns/solid/terms#>.
2
+ <>
3
+ a solid:TypeIndex ;
4
+ a solid:UnlistedDocument.
@@ -0,0 +1,4 @@
1
+ @prefix solid: <http://www.w3.org/ns/solid/terms#>.
2
+ <>
3
+ a solid:TypeIndex ;
4
+ a solid:ListedDocument.
@@ -0,0 +1,25 @@
1
+ # ACL resource for the Public Type Index
2
+
3
+ @prefix acl: <http://www.w3.org/ns/auth/acl#>.
4
+ @prefix foaf: <http://xmlns.com/foaf/0.1/>.
5
+
6
+ <#owner>
7
+ a acl:Authorization;
8
+
9
+ acl:agent
10
+ <{{webId}}>;
11
+
12
+ acl:accessTo <./publicTypeIndex.ttl>;
13
+
14
+ acl:mode
15
+ acl:Read, acl:Write, acl:Control.
16
+
17
+ # Public-readable
18
+ <#public>
19
+ a acl:Authorization;
20
+
21
+ acl:agentClass foaf:Agent; # everyone
22
+
23
+ acl:accessTo <./publicTypeIndex.ttl>;
24
+
25
+ acl:mode acl:Read.
@@ -0,0 +1,13 @@
1
+ @prefix acl: <http://www.w3.org/ns/auth/acl#>.
2
+ @prefix foaf: <http://xmlns.com/foaf/0.1/>.
3
+
4
+ <#owner>
5
+ a acl:Authorization;
6
+
7
+ acl:agent
8
+ <{{webId}}>;
9
+
10
+ acl:accessTo <./serverSide.ttl>;
11
+
12
+ acl:mode acl:Read .
13
+
@@ -0,0 +1,12 @@
1
+ @prefix dct: <http://purl.org/dc/terms/>.
2
+ @prefix pim: <http://www.w3.org/ns/pim/space#>.
3
+ @prefix solid: <http://www.w3.org/ns/solid/terms#>.
4
+
5
+ <>
6
+ a pim:ConfigurationFile;
7
+
8
+ dct:description "Administrative settings for the POD that the user can only read." .
9
+
10
+ </>
11
+ solid:storageQuota "25000000" .
12
+
@@ -0,0 +1,10 @@
1
+ # Root ACL resource for the root
2
+ @prefix acl: <http://www.w3.org/ns/auth/acl#>.
3
+ @prefix foaf: <http://xmlns.com/foaf/0.1/>.
4
+
5
+ <#public>
6
+ a acl:Authorization;
7
+ acl:agentClass foaf:Agent; # everyone
8
+ acl:accessTo </>;
9
+ acl:default </common/>;
10
+ acl:mode acl:Read.
@@ -0,0 +1,15 @@
1
+ # ACL for the default .well-known/ resource
2
+ # Server operators will be able to override it as they wish
3
+ # Public-readable
4
+
5
+ @prefix acl: <http://www.w3.org/ns/auth/acl#>.
6
+ @prefix foaf: <http://xmlns.com/foaf/0.1/>.
7
+
8
+ <#public>
9
+ a acl:Authorization;
10
+
11
+ acl:agentClass foaf:Agent; # everyone
12
+
13
+ acl:accessTo </.well-known/>;
14
+
15
+ acl:mode acl:Read.
@@ -0,0 +1,15 @@
1
+ # ACL for the default favicon.ico resource
2
+ # Server operators will be able to override it as they wish
3
+ # Public-readable
4
+
5
+ @prefix acl: <http://www.w3.org/ns/auth/acl#>.
6
+ @prefix foaf: <http://xmlns.com/foaf/0.1/>.
7
+
8
+ <#public>
9
+ a acl:Authorization;
10
+
11
+ acl:agentClass foaf:Agent; # everyone
12
+
13
+ acl:accessTo </favicon.ico>;
14
+
15
+ acl:mode acl:Read.
@@ -0,0 +1,55 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <title>Welcome to Solid</title>
7
+ <link rel="stylesheet" href="/common/css/bootstrap.min.css">
8
+ <link rel="stylesheet" href="/common/css/solid.css">
9
+ </head>
10
+ <body>
11
+ <div class="container">
12
+ <div class="page-header">
13
+ <div class="pull-right">
14
+ <button id="register" type="button" class="btn btn-primary">Register</button>
15
+ <button id="login" type="button" class="hidden btn btn-default btn-success">Log in</button>
16
+ <button id="logout" type="button" class="hidden btn btn-danger">Log out</button>
17
+ </div>
18
+
19
+ <h1>Welcome to the Solid Prototype</h1>
20
+ </div>
21
+
22
+ <p class="lead">
23
+ This is a prototype implementation of a Solid server.
24
+
25
+ It is a fully functional server, but there are no security or stability guarantees.
26
+
27
+ If you have not already done so, please create an account.
28
+ </p>
29
+
30
+ <p class="lead hidden" id="loggedIn">
31
+ You are logged in as
32
+ <a href="#" id="profileLink"></a>.
33
+ </p>
34
+
35
+ <section>
36
+ {{#if serverLogo}}
37
+ <img src="{{serverLogo}}" />
38
+ {{/if}}
39
+ <h2>Server info</h2>
40
+ <dl>
41
+ <dt>Name</dt>
42
+ <dd>{{serverName}}</dd>
43
+ {{#if serverDescription}}
44
+ <dt>Description</dt>
45
+ <dd>{{serverDescription}}</dd>
46
+ {{/if}}
47
+ <dt>Details</dt>
48
+ <dd>Running on <a href="https://github.com/solid/node-solid-server/releases/tag/v{{serverVersion}}">Solid {{serverVersion}}</a></dd>
49
+ </dl>
50
+ </section>
51
+ </div>
52
+ <script src="/common/js/solid-auth-client.bundle.js"></script>
53
+ <script src="/common/js/auth-buttons.js"></script>
54
+ </body>
55
+ </html>
@@ -0,0 +1,3 @@
1
+ User-agent: *
2
+ # Allow all crawling (subject to ACLs as usual, of course)
3
+ Disallow:
@@ -0,0 +1,15 @@
1
+ # ACL for the default robots.txt resource
2
+ # Server operators will be able to override it as they wish
3
+ # Public-readable
4
+
5
+ @prefix acl: <http://www.w3.org/ns/auth/acl#>.
6
+ @prefix foaf: <http://xmlns.com/foaf/0.1/>.
7
+
8
+ <#public>
9
+ a acl:Authorization;
10
+
11
+ acl:agentClass foaf:Agent; # everyone
12
+
13
+ acl:accessTo </robots.txt>;
14
+
15
+ acl:mode acl:Read.
@@ -0,0 +1,17 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <title>Account Deleted</title>
7
+ <link rel="stylesheet" href="/common/css/bootstrap.min.css">
8
+ </head>
9
+ <body>
10
+ <div class="container">
11
+ <h4>Account Deleted</h4>
12
+ </div>
13
+ <div class="container">
14
+ <p>Your account has been deleted.</p>
15
+ </div>
16
+ </body>
17
+ </html>
@@ -0,0 +1,51 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <title>Delete Account</title>
7
+ <link rel="stylesheet" href="/common/css/bootstrap.min.css">
8
+ </head>
9
+ <body>
10
+ <div class="container">
11
+ <h4>Delete Account</h4>
12
+ </div>
13
+ <div class="container">
14
+ <form method="post" action="/account/delete/confirm">
15
+ {{#if error}}
16
+ <div class="form-group">
17
+ <div class="row">
18
+ <div class="col-md-12">
19
+ <p class="text-danger"><strong>{{error}}</strong></p>
20
+ </div>
21
+ </div>
22
+ </div>
23
+ {{/if}}
24
+
25
+ {{#if validToken}}
26
+ <p>Beware that this is an irreversible action. All your data that is stored in the POD will be deleted.</p>
27
+
28
+ <div class="form-group">
29
+ <div class="row">
30
+ <div class="col-md-2">
31
+ <button type="submit" class="btn btn-danger">Delete account</button>
32
+ </div>
33
+ </div>
34
+
35
+ <input type="hidden" name="token" value="{{token}}" />
36
+ </div>
37
+ {{else}}
38
+ <div class="form-group">
39
+ <div class="row">
40
+ <div class="col-md-12">
41
+ <div>
42
+ <strong>Token not valid</strong>
43
+ </div>
44
+ </div>
45
+ </div>
46
+ </div>
47
+ {{/if}}
48
+ </form>
49
+ </div>
50
+ </body>
51
+ </html>
@@ -0,0 +1,17 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <title>Delete Account Link Sent</title>
7
+ <link rel="stylesheet" href="/common/css/bootstrap.min.css">
8
+ </head>
9
+ <body>
10
+ <div class="container">
11
+ <h4>Confirm account deletion</h4>
12
+ </div>
13
+ <div class="container">
14
+ <p>A link to confirm the deletion of this account has been sent to your email.</p>
15
+ </div>
16
+ </body>
17
+ </html>
@@ -0,0 +1,51 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <title>Delete Account</title>
7
+ <link rel="stylesheet" href="/common/css/bootstrap.min.css">
8
+ <script></script>
9
+ </head>
10
+ <body>
11
+ <div class="container">
12
+ <h4>Delete Account</h4>
13
+ </div>
14
+ <div class="container">
15
+ <form method="post" action="/account/delete">
16
+ <div class="form-group">
17
+ {{#if error}}
18
+ <div class="row">
19
+ <div class="col-md-12">
20
+ <p class="text-danger"><strong>{{error}}</strong></p>
21
+ </div>
22
+ </div>
23
+ {{/if}}
24
+ <div class="row">
25
+ <div class="col-md-12">
26
+ {{#if multiuser}}
27
+ <p>Please enter your account name. A delete account link will be
28
+ emailed to the address you provided during account registration.</p>
29
+
30
+ <label for="username">Account Name:</label>
31
+ <input type="text" class="form-control" name="username" id="username"
32
+ placeholder="alice" />
33
+ {{else}}
34
+ <p>A delete account link will be
35
+ emailed to the address you provided during account registration.</p>
36
+ {{/if}}
37
+ </div>
38
+ </div>
39
+ </div>
40
+
41
+ <div class="form-group">
42
+ <div class="row">
43
+ <div class="col-md-2">
44
+ <button type="submit" class="btn btn-primary">Send Delete Account Link</button>
45
+ </div>
46
+ </div>
47
+ </div>
48
+ </form>
49
+ </div>
50
+ </body>
51
+ </html>
@@ -0,0 +1,22 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <title>Invalid username</title>
7
+ <link rel="stylesheet" href="/common/css/bootstrap.min.css">
8
+ </head>
9
+ <body>
10
+ <div class="container">
11
+ <h4>Invalid username</h4>
12
+ </div>
13
+ <div class="container">
14
+ <p>We're sorry to inform you that this account's username ({{username}}) is not allowed after changes to username policy.</p>
15
+ <p>This account has been set to be deleted at {{dateOfRemoval}}.</p>
16
+ {{#if supportEmail}}
17
+ <p>Please contact {{supportEmail}} if you want to move your account.</p>
18
+ {{/if}}
19
+ <p>If you had an email address connected to this account, you should have received an email about this.</p>
20
+ </div>
21
+ </body>
22
+ </html>
@@ -0,0 +1,6 @@
1
+ <div class="alert alert-danger">
2
+ <p>
3
+ Registering a new account is disabled for the WebID-TLS authentication method.
4
+ Please restart the server using another mode.
5
+ </p>
6
+ </div>