You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is an example on how to restrict access to a documentation website written with [`docusaurus`](https://docusaurus.io/).
3
+
This is an example on how to restrict access to a documentation website written
4
+
with [`docusaurus`](https://docusaurus.io/).
4
5
5
6
## Details
6
7
7
-
The implementation uses vercels ["middleware"](./middleware.ts) to check each request for the correct authentication data. For user management and authentication, a [`PocketBase`](https://pocketbase.io/) instance is used.
8
+
The implementation uses vercels ["middleware"](./middleware.ts) to check each
9
+
request for the correct authentication data. For user management and
10
+
authentication, a [`PocketBase`](https://pocketbase.io/) instance is used.
8
11
9
12
## Considerations
10
13
11
-
It is important to note that at least with `docusaurus`, one cannot protect individual routes. This is because once one route has been opened, `docusaurus` behaves like a SPA and greedily loads all the content into the client. No way to disentangle that js-blob.
14
+
It is important to note that at least with `docusaurus`, one cannot protect
15
+
individual routes. This is because once one route has been opened, `docusaurus`
16
+
behaves like a SPA and greedily loads all the content into the client. No way to
17
+
disentangle that js-blob.
12
18
13
-
In this implementation, anybody can sign up and then immediately see the content. That is kinda pointless of course. It is possible to check for roles or attributes on the users. For example one could adjust the middleware like so:
19
+
In this implementation, anybody can sign up and then immediately see the
20
+
content. That is kinda pointless of course. It is possible to check for roles or
21
+
attributes on the users. For example one could adjust the middleware like so:
// not_a_member.html shows instructions on how to reach the admin to make the person a member.
35
-
returnrewrite("/public/not_a_member.html");
43
+
returnrewrite('/public/not_a_member.html')
36
44
}
37
45
} catch {
38
-
returnrewrite("/public/login.html");
46
+
returnrewrite('/public/login.html')
39
47
}
40
48
}
41
49
```
42
50
43
-
Then only users whose accounts are made a "member" after creation could access the website. **Please be aware that this only is secure, iff you make sure that users cannot make themselves "members" [by using `@request.data.member:isset = false` in the appropriate API rules](https://github.com/pocketbase/pocketbase/discussions/5486#discussioncomment-10556948)!**
51
+
Then only users whose accounts are made a "member" after creation could access
52
+
the website. **Please be aware that this only is secure, iff you make sure that
53
+
users cannot make themselves "members"
54
+
[by using `@request.data.member:isset = false` in the appropriate API rules](https://github.com/pocketbase/pocketbase/discussions/5486#discussioncomment-10556948)!**
44
55
45
56
## Run it yourself
46
57
47
-
In order to run this yourself, you need to host a `PocketBase` instance and then fork this repo and adjust the values. Deployment needs to happen via vercel. I assume it also works on netlify or coolify with some minor adjustments.
58
+
In order to run this yourself, you need to host a `PocketBase` instance and then
59
+
fork this repo and adjust the values. Deployment needs to happen via vercel. I
60
+
assume it also works on netlify or coolify with some minor adjustments.
Copy file name to clipboardExpand all lines: blog/2019-05-28-first-blog-post.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,4 +9,5 @@ Lorem ipsum dolor sit amet...
9
9
10
10
<!-- truncate -->
11
11
12
-
...consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
12
+
...consectetur adipiscing elit. Pellentesque elementum dignissim ultricies.
13
+
Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Copy file name to clipboardExpand all lines: blog/2019-05-29-long-blog-post.md
+48-16Lines changed: 48 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,34 +11,66 @@ Use a `<!--` `truncate` `-->` comment to limit blog post size in the list view.
11
11
12
12
<!-- truncate -->
13
13
14
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
14
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum
15
+
dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem
16
+
ipsum dolor sit amet
15
17
16
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
18
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum
19
+
dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem
20
+
ipsum dolor sit amet
17
21
18
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
22
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum
23
+
dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem
24
+
ipsum dolor sit amet
19
25
20
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
26
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum
27
+
dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem
28
+
ipsum dolor sit amet
21
29
22
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
30
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum
31
+
dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem
32
+
ipsum dolor sit amet
23
33
24
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
34
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum
35
+
dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem
36
+
ipsum dolor sit amet
25
37
26
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
38
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum
39
+
dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem
40
+
ipsum dolor sit amet
27
41
28
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
42
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum
43
+
dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem
44
+
ipsum dolor sit amet
29
45
30
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
46
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum
47
+
dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem
48
+
ipsum dolor sit amet
31
49
32
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
50
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum
51
+
dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem
52
+
ipsum dolor sit amet
33
53
34
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
54
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum
55
+
dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem
56
+
ipsum dolor sit amet
35
57
36
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
58
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum
59
+
dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem
60
+
ipsum dolor sit amet
37
61
38
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
62
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum
63
+
dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem
64
+
ipsum dolor sit amet
39
65
40
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
66
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum
67
+
dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem
68
+
ipsum dolor sit amet
41
69
42
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
70
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum
71
+
dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem
72
+
ipsum dolor sit amet
43
73
44
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
74
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum
75
+
dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem
Copy file name to clipboardExpand all lines: blog/2021-08-26-welcome/index.md
+5-2Lines changed: 5 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,9 @@ authors: [slorber, yangshun]
5
5
tags: [facebook, hello, docusaurus]
6
6
---
7
7
8
-
[Docusaurus blogging features](https://docusaurus.io/docs/blog) are powered by the [blog plugin](https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog).
8
+
[Docusaurus blogging features](https://docusaurus.io/docs/blog) are powered by
0 commit comments