@knowcode/doc-builder 1.9.30 → 1.9.31
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.
- package/package.json +12 -2
- package/.claude/settings.local.json +0 -56
- package/CACHE-BUSTING-GUIDE.md +0 -82
- package/CLAUDE.md +0 -86
- package/CONTRIBUTING.md +0 -148
- package/GITHUB_SETUP.md +0 -203
- package/RELEASE-NOTES-1.7.5.md +0 -64
- package/Screenshot 2025-07-22 at 19.51.21.png +0 -0
- package/Screenshot 2025-07-26 at 17.06.49.png +0 -0
- package/add-user-clive.sql +0 -35
- package/add-user-lindsay-fixed.sql +0 -85
- package/add-user-lindsay.sql +0 -68
- package/add-user-pmorgan.sql +0 -35
- package/add-user-robbie.sql +0 -35
- package/add-wru-users.sql +0 -105
- package/debug-login.sql +0 -30
- package/doc-builder.config.js +0 -126
- package/doc-builder.config.js.backup.1753793768283 +0 -47
- package/doc-builder.config.js.backup.1753803964423 +0 -114
- package/doc-builder.config.js.backup.1753945707032 +0 -115
- package/doc-builder.config.js.backup.1754059241330 +0 -115
- package/doc-builder.config.js.backup.1754119567787 +0 -123
- package/doc-builder.config.js.backup.1754120048862 +0 -124
- package/doc-builder.config.js.backup.1754120529913 +0 -124
- package/doc-builder.config.js.backup.1754218469785 +0 -124
- package/doc-builder.config.js.backup.1754384764054 +0 -124
- package/doc-builder.config.js.backup.1754567425847 +0 -124
- package/doc-builder.config.js.backup.1754568137859 +0 -126
- package/doc-builder.config.js.backup.1754569388252 +0 -126
- package/doc-builder.config.js.backup.1754576694123 +0 -126
- package/doc-builder.config.js.backup.1755031374829 +0 -126
- package/doc-builder.config.js.backup.1755034500990 +0 -126
- package/doc-builder.config.js.backup.1755034809236 +0 -126
- package/grant-access.sql +0 -15
- package/html/11.png +0 -0
- package/html/404.html +0 -115
- package/html/README.html +0 -522
- package/html/Screenshot 2025-08-12 at 21.35.07.png +0 -0
- package/html/about-doc-builder.html +0 -491
- package/html/auth.js +0 -157
- package/html/claude-workflow-guide.html +0 -525
- package/html/css/notion-style.css +0 -2502
- package/html/documentation-index.html +0 -471
- package/html/guides/authentication-default-change.html +0 -370
- package/html/guides/authentication-guide.html +0 -509
- package/html/guides/cache-control-anti-pattern.html +0 -361
- package/html/guides/claude-workflow-guide.html +0 -1074
- package/html/guides/configuration-guide.html +0 -472
- package/html/guides/document-standards.html +0 -518
- package/html/guides/documentation-standards.html +0 -694
- package/html/guides/html-embedding-guide.html +0 -461
- package/html/guides/image-modal-guide.html +0 -515
- package/html/guides/next-steps-walkthrough.html +0 -638
- package/html/guides/phosphor-icons-guide.html +0 -584
- package/html/guides/private-directory-authentication-troubleshooting.html +0 -555
- package/html/guides/private-directory-authentication.html +0 -541
- package/html/guides/public-site-deployment.html +0 -431
- package/html/guides/search-engine-verification-guide.html +0 -542
- package/html/guides/seo-guide.html +0 -661
- package/html/guides/seo-optimization-guide.html +0 -887
- package/html/guides/supabase-auth-implementation-plan.html +0 -543
- package/html/guides/supabase-auth-integration-plan.html +0 -671
- package/html/guides/supabase-auth-setup-guide.html +0 -498
- package/html/guides/supabase-authentication-complete-guide.html +0 -866
- package/html/guides/troubleshooting-guide.html +0 -633
- package/html/guides/vercel-deployment-auth-setup.html +0 -337
- package/html/guides/windows-setup-guide.html +0 -859
- package/html/image-modal-test.html +0 -318
- package/html/index.html +0 -522
- package/html/js/auth.js +0 -157
- package/html/js/main.js +0 -1754
- package/html/launch/README.html +0 -297
- package/html/launch/bubble-plugin-specification.html +0 -933
- package/html/launch/go-to-market-strategy.html +0 -663
- package/html/launch/launch-announcements.html +0 -593
- package/html/login.html +0 -102
- package/html/logout.html +0 -18
- package/html/private/cache-control-anti-pattern.html +0 -429
- package/html/private/launch/README.html +0 -371
- package/html/private/launch/auth-cleanup-summary.html +0 -361
- package/html/private/launch/bubble-plugin-specification.html +0 -1007
- package/html/private/launch/go-to-market-strategy.html +0 -737
- package/html/private/launch/launch-announcements.html +0 -667
- package/html/private/launch/vercel-deployment-auth-setup.html +0 -417
- package/html/private/next-steps-walkthrough.html +0 -679
- package/html/private/supabase-auth-implementation-completed.html +0 -454
- package/html/private/supabase-auth-implementation-plan.html +0 -594
- package/html/private/supabase-auth-integration-plan.html +0 -704
- package/html/private/supabase-auth-setup-guide.html +0 -555
- package/html/private/test-private-doc.html +0 -302
- package/html/private/user-management-tooling.html +0 -601
- package/html/prompts/Screenshot 2025-08-02 at 08.49.55.png +0 -0
- package/html/prompts/beautiful-documentation-design.html +0 -784
- package/html/prompts/markdown-document-standards.html +0 -422
- package/html/prompts/project-rename-strategy-sasha-publish.html +0 -530
- package/html/robots.txt +0 -9
- package/html/sitemap.xml +0 -357
- package/html/test-questions/how-does-it-work%3F.html +0 -294
- package/html/test-questions/step-1%3A%20getting-started.html +0 -289
- package/html/test-questions/what-is-the-purpose.html +0 -293
- package/html/test-status.html +0 -281
- package/html/vercel-cli-setup-guide.html +0 -495
- package/html/vercel-first-time-setup-guide.html +0 -454
- package/html/vercel.json +0 -29
- package/html-static/11.png +0 -0
- package/html-static/404.html +0 -115
- package/html-static/README.html +0 -609
- package/html-static/Screenshot 2025-08-12 at 21.35.07.png +0 -0
- package/html-static/about-doc-builder.html +0 -578
- package/html-static/css/notion-style.css +0 -2502
- package/html-static/documentation-index.html +0 -558
- package/html-static/guides/authentication-default-change.html +0 -457
- package/html-static/guides/authentication-guide.html +0 -596
- package/html-static/guides/claude-workflow-guide.html +0 -1161
- package/html-static/guides/configuration-guide.html +0 -559
- package/html-static/guides/documentation-standards.html +0 -781
- package/html-static/guides/html-embedding-guide.html +0 -548
- package/html-static/guides/image-modal-guide.html +0 -602
- package/html-static/guides/phosphor-icons-guide.html +0 -671
- package/html-static/guides/private-directory-authentication-troubleshooting.html +0 -642
- package/html-static/guides/private-directory-authentication.html +0 -628
- package/html-static/guides/public-site-deployment.html +0 -518
- package/html-static/guides/search-engine-verification-guide.html +0 -629
- package/html-static/guides/seo-guide.html +0 -748
- package/html-static/guides/seo-optimization-guide.html +0 -974
- package/html-static/guides/supabase-authentication-complete-guide.html +0 -953
- package/html-static/guides/troubleshooting-guide.html +0 -720
- package/html-static/guides/windows-setup-guide.html +0 -946
- package/html-static/image-modal-test.html +0 -405
- package/html-static/index.html +0 -609
- package/html-static/js/main.js +0 -1754
- package/html-static/prompts/Screenshot 2025-08-02 at 08.49.55.png +0 -0
- package/html-static/prompts/beautiful-documentation-design.html +0 -871
- package/html-static/prompts/markdown-document-standards.html +0 -509
- package/html-static/prompts/project-rename-strategy-sasha-publish.html +0 -617
- package/html-static/robots.txt +0 -5
- package/html-static/sitemap.xml +0 -195
- package/html-static/test-questions/how-does-it-work%3F.html +0 -381
- package/html-static/test-questions/step-1%3A%20getting-started.html +0 -376
- package/html-static/test-questions/what-is-the-purpose.html +0 -380
- package/html-static/vercel-cli-setup-guide.html +0 -582
- package/html-static/vercel-first-time-setup-guide.html +0 -541
- package/manage-users.sql +0 -191
- package/migrate-to-domain-auth.sql +0 -47
- package/package/CACHE-BUSTING-GUIDE.md +0 -82
- package/package/CHANGELOG.md +0 -902
- package/package/README.md +0 -248
- package/package/assets/css/notion-style.css +0 -2211
- package/package/assets/js/auth.js +0 -67
- package/package/assets/js/main.js +0 -1565
- package/package/cli.js +0 -764
- package/package/index.js +0 -38
- package/package/knowcode-doc-builder-1.3.15.tgz +0 -0
- package/package/lib/builder.js +0 -32
- package/package/lib/config.js +0 -278
- package/package/lib/core-builder.js +0 -957
- package/package/lib/deploy.js +0 -497
- package/package/lib/dev-server.js +0 -96
- package/package/package.json +0 -34
- package/package/scripts/npx-runner.js +0 -27
- package/package/scripts/setup.js +0 -56
- package/package/test-cache-bust.sh +0 -43
- package/public-config.js +0 -22
- package/public-html/404.html +0 -115
- package/public-html/README.html +0 -149
- package/public-html/css/notion-style.css +0 -2036
- package/public-html/index.html +0 -149
- package/public-html/js/auth.js +0 -67
- package/public-html/js/main.js +0 -1485
- package/quick-test-commands.md +0 -40
- package/recordings/Screenshot 2025-07-24 at 18.22.01.png +0 -0
- package/recordings/mh-ls-22jul.txt +0 -2305
- package/screenshot.png +0 -0
- package/scripts/Screenshot 2025-07-23 at 15.39.41.png +0 -0
- package/setup-database-v2.sql +0 -53
- package/setup-database.sql +0 -41
- package/test-auth-config.js +0 -17
- package/test-cache-bust.sh +0 -43
- package/test-docs/README.md +0 -39
- package/test-html/404.html +0 -115
- package/test-html/README.html +0 -172
- package/test-html/auth.js +0 -97
- package/test-html/css/notion-style.css +0 -2036
- package/test-html/index.html +0 -172
- package/test-html/js/auth.js +0 -97
- package/test-html/js/main.js +0 -1485
- package/test-html/login.html +0 -102
- package/test-html/logout.html +0 -18
- package/update-domain.sql +0 -9
- package/user-access-view.sql +0 -49
- package/user-management/README.md +0 -301
- package/user-management/add-users.sh +0 -776
- package/user-management/create-user.js +0 -65
- package/user-management/users.txt +0 -15
- package/view-all-users.sql +0 -40
- package/wru-auth-config.js +0 -17
|
@@ -1,555 +0,0 @@
|
|
|
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.0">
|
|
6
|
-
<meta name="description" content="Complete guide for setting up secure authentication for your @knowcode/doc-builder documentation sites using Supabase.">
|
|
7
|
-
<title>Supabase Authentication Setup Guide | @knowcode/doc-builder</title>
|
|
8
|
-
|
|
9
|
-
<meta name="generator" content="@knowcode/doc-builder by Knowcode Ltd">
|
|
10
|
-
<meta name="author" content="Lindsay Smith">
|
|
11
|
-
<meta name="keywords" content="documentation, markdown, static site generator, vercel, notion-style, supabase, your">
|
|
12
|
-
<meta name="robots" content="index, follow">
|
|
13
|
-
<link rel="canonical" href="https://doc-builder-delta.vercel.app/private/supabase-auth-setup-guide.html">
|
|
14
|
-
|
|
15
|
-
<!-- Open Graph / Facebook -->
|
|
16
|
-
<meta property="og:type" content="article">
|
|
17
|
-
<meta property="og:url" content="https://doc-builder-delta.vercel.app/private/supabase-auth-setup-guide.html">
|
|
18
|
-
<meta property="og:title" content="Supabase Authentication Setup Guide | @knowcode/doc-builder">
|
|
19
|
-
<meta property="og:description" content="Complete guide for setting up secure authentication for your @knowcode/doc-builder documentation sites using Supabase.">
|
|
20
|
-
<meta property="og:image" content="https://doc-builder-delta.vercel.app/og-default.png">
|
|
21
|
-
<meta property="og:site_name" content="@knowcode/doc-builder">
|
|
22
|
-
<meta property="og:locale" content="en_US">
|
|
23
|
-
|
|
24
|
-
<!-- Twitter Card -->
|
|
25
|
-
<meta name="twitter:card" content="summary_large_image">
|
|
26
|
-
<meta name="twitter:site" content="@planbbackups">
|
|
27
|
-
<meta name="twitter:creator" content="@planbbackups">
|
|
28
|
-
<meta name="twitter:title" content="Supabase Authentication Setup Guide | @knowcode/doc-builder">
|
|
29
|
-
<meta name="twitter:description" content="Complete guide for setting up secure authentication for your @knowcode/doc-builder documentation sites using Supabase.">
|
|
30
|
-
<meta name="twitter:image" content="https://doc-builder-delta.vercel.app/og-default.png">
|
|
31
|
-
|
|
32
|
-
<!-- Custom Meta Tags -->
|
|
33
|
-
<meta name="google-site-verification" content="FtzcDTf5BQ9K5EfnGazQkgU2U4FiN3ITzM7gHwqUAqQ">
|
|
34
|
-
<meta name="msvalidate.01" content="B2D8C4C12C530D47AA962B24CAA09630">
|
|
35
|
-
|
|
36
|
-
<!-- Fonts -->
|
|
37
|
-
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
|
|
38
|
-
|
|
39
|
-
<!-- Icons -->
|
|
40
|
-
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
|
|
41
|
-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@phosphor-icons/web@2.1.1/src/regular/style.css">
|
|
42
|
-
|
|
43
|
-
<!-- Mermaid -->
|
|
44
|
-
<script src="https://cdn.jsdelivr.net/npm/mermaid@10.6.1/dist/mermaid.min.js"></script>
|
|
45
|
-
|
|
46
|
-
<!-- Styles -->
|
|
47
|
-
<link rel="stylesheet" href="/css/notion-style.css">
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
<!-- Hide content until auth check -->
|
|
53
|
-
<style>
|
|
54
|
-
body {
|
|
55
|
-
visibility: hidden;
|
|
56
|
-
opacity: 0;
|
|
57
|
-
transition: opacity 0.3s ease;
|
|
58
|
-
}
|
|
59
|
-
body.authenticated {
|
|
60
|
-
visibility: visible;
|
|
61
|
-
opacity: 1;
|
|
62
|
-
}
|
|
63
|
-
/* Show login/logout pages immediately */
|
|
64
|
-
body.auth-page {
|
|
65
|
-
visibility: visible;
|
|
66
|
-
opacity: 1;
|
|
67
|
-
}
|
|
68
|
-
/* Style auth button consistently */
|
|
69
|
-
.auth-btn {
|
|
70
|
-
background: none;
|
|
71
|
-
border: none;
|
|
72
|
-
color: var(--text-secondary);
|
|
73
|
-
cursor: pointer;
|
|
74
|
-
padding: 0.5rem;
|
|
75
|
-
border-radius: 0.5rem;
|
|
76
|
-
transition: all 0.2s;
|
|
77
|
-
font-size: 1.1rem;
|
|
78
|
-
}
|
|
79
|
-
.auth-btn:hover {
|
|
80
|
-
background: var(--bg-secondary);
|
|
81
|
-
color: var(--text-primary);
|
|
82
|
-
}
|
|
83
|
-
</style>
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
<!-- Favicon -->
|
|
87
|
-
<link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 100 100%22><text y=%22.9em%22 font-size=%2290%22>✨</text></svg>">
|
|
88
|
-
|
|
89
|
-
<script type="application/ld+json">
|
|
90
|
-
{
|
|
91
|
-
"@context": "https://schema.org",
|
|
92
|
-
"@type": "TechArticle",
|
|
93
|
-
"headline": "Supabase Authentication Setup Guide",
|
|
94
|
-
"description": "Complete guide for setting up secure authentication for your @knowcode/doc-builder documentation sites using Supabase.",
|
|
95
|
-
"author": {
|
|
96
|
-
"@type": "Person",
|
|
97
|
-
"name": "Lindsay Smith"
|
|
98
|
-
},
|
|
99
|
-
"publisher": {
|
|
100
|
-
"@type": "Organization",
|
|
101
|
-
"name": "Knowcode Ltd",
|
|
102
|
-
"url": "https://knowcode.tech"
|
|
103
|
-
},
|
|
104
|
-
"datePublished": "2025-08-12T21:40:09.436Z",
|
|
105
|
-
"dateModified": "2025-08-12T21:40:09.436Z",
|
|
106
|
-
"mainEntityOfPage": {
|
|
107
|
-
"@type": "WebPage",
|
|
108
|
-
"@id": "https://doc-builder-delta.vercel.app/private/supabase-auth-setup-guide.html"
|
|
109
|
-
},
|
|
110
|
-
"breadcrumb": {
|
|
111
|
-
"@type": "BreadcrumbList",
|
|
112
|
-
"itemListElement": [
|
|
113
|
-
{
|
|
114
|
-
"@type": "ListItem",
|
|
115
|
-
"position": 1,
|
|
116
|
-
"name": "@knowcode/doc-builder",
|
|
117
|
-
"item": "https://doc-builder-delta.vercel.app"
|
|
118
|
-
},
|
|
119
|
-
{
|
|
120
|
-
"@type": "ListItem",
|
|
121
|
-
"position": 2,
|
|
122
|
-
"name": "Private",
|
|
123
|
-
"item": "https://doc-builder-delta.vercel.app/private/"
|
|
124
|
-
},
|
|
125
|
-
{
|
|
126
|
-
"@type": "ListItem",
|
|
127
|
-
"position": 3,
|
|
128
|
-
"name": "Supabase Auth Setup Guide",
|
|
129
|
-
"item": "https://doc-builder-delta.vercel.app/private/supabase-auth-setup-guide.html"
|
|
130
|
-
}
|
|
131
|
-
]
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
</script>
|
|
135
|
-
</head>
|
|
136
|
-
<body>
|
|
137
|
-
|
|
138
|
-
<!-- Header -->
|
|
139
|
-
<header class="header">
|
|
140
|
-
<div class="header-content">
|
|
141
|
-
<a href="/index.html" class="logo">@knowcode/doc-builder</a>
|
|
142
|
-
|
|
143
|
-
<div class="header-actions">
|
|
144
|
-
<div class="deployment-info">
|
|
145
|
-
<span class="deployment-date" title="Built with doc-builder v1.9.29">Last updated: Aug 12, 2025, 09:40 PM UTC</span>
|
|
146
|
-
</div>
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
<a href="../../login.html" class="auth-btn" title="Login/Logout">
|
|
150
|
-
<i class="fas fa-sign-in-alt"></i>
|
|
151
|
-
</a>
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
<button id="theme-toggle" class="theme-toggle" aria-label="Toggle theme">
|
|
155
|
-
<i class="fas fa-moon"></i>
|
|
156
|
-
</button>
|
|
157
|
-
|
|
158
|
-
<button id="menu-toggle" class="menu-toggle" aria-label="Toggle menu">
|
|
159
|
-
<i class="fas fa-bars"></i>
|
|
160
|
-
</button>
|
|
161
|
-
</div>
|
|
162
|
-
</div>
|
|
163
|
-
</header>
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
<!-- Breadcrumbs -->
|
|
169
|
-
<nav class="breadcrumbs " id="breadcrumbs" >
|
|
170
|
-
<!-- Breadcrumbs will be generated by JavaScript -->
|
|
171
|
-
</nav>
|
|
172
|
-
|
|
173
|
-
<!-- Main Content -->
|
|
174
|
-
<div class="main-wrapper">
|
|
175
|
-
<!-- Sidebar -->
|
|
176
|
-
<aside class="sidebar">
|
|
177
|
-
<div class="sidebar-header">
|
|
178
|
-
<div class="filter-box">
|
|
179
|
-
<input type="text" placeholder="Search menu..." class="filter-input" id="nav-filter">
|
|
180
|
-
<i class="fas fa-search filter-icon"></i>
|
|
181
|
-
</div>
|
|
182
|
-
</div>
|
|
183
|
-
<nav class="navigation">
|
|
184
|
-
|
|
185
|
-
<div class="nav-section" data-level="0">
|
|
186
|
-
<a class="nav-title toggle-all-nav expanded" href="#" id="nav-toggle-all" title="Collapse/Expand All">
|
|
187
|
-
<i class="ph ph-caret-down" id="toggle-all-icon"></i> Documentation
|
|
188
|
-
</a>
|
|
189
|
-
<div class="nav-content">
|
|
190
|
-
<a href="/README.html" class="nav-item" data-tooltip="@knowcode/doc-builder."><i class="ph ph-file-text"></i> Overview</a>
|
|
191
|
-
<a href="/about-doc-builder.html" class="nav-item" data-tooltip="About @knowcode/doc-builder."><i class="ph ph-check-circle" style="color: #059669;"></i> About Doc Builder</a>
|
|
192
|
-
<a href="/documentation-index.html" class="nav-item" data-tooltip="This directory contains additional documentation for the @knowcode/doc-builder project, organized by topic and purpose."><i class="ph ph-pencil-simple" style="color: #d97706;"></i> Documentation Index</a>
|
|
193
|
-
<a href="/image-modal-test.html" class="nav-item" data-tooltip="This document tests the new image modal functionality in doc-builder."><i class="ph ph-file-text"></i> Image Modal Test</a>
|
|
194
|
-
<a href="/vercel-cli-setup-guide.html" class="nav-item" data-tooltip="This guide provides comprehensive instructions for installing the Vercel CLI across different operating systems."><i class="ph ph-check-circle" style="color: #059669;"></i> Vercel Cli Setup Guide</a>
|
|
195
|
-
<a href="/vercel-first-time-setup-guide.html" class="nav-item" data-tooltip="This guide walks you through the Vercel deployment process when using ."><i class="ph ph-check-circle" style="color: #059669;"></i> Vercel First Time Setup Guide</a></div></div>
|
|
196
|
-
<div class="nav-section" data-level="1">
|
|
197
|
-
<a class="nav-title collapsible" href="#" data-target="nav-guides-1" >
|
|
198
|
-
<i class="ph ph-caret-right collapse-icon"></i><i class="ph ph-book"></i> Guides
|
|
199
|
-
</a>
|
|
200
|
-
<div class="nav-content collapsed" id="nav-guides-1">
|
|
201
|
-
<a href="/guides/authentication-default-change.html" class="nav-item" data-tooltip="Starting from version 1.7.4, @knowcode/doc-builder now defaults to no authentication for all documentation sites."><i class="ph ph-file-text"></i> Authentication Default Change</a>
|
|
202
|
-
<a href="/guides/authentication-guide.html" class="nav-item" data-tooltip="@knowcode/doc-builder supports enterprise-grade authentication through Supabase - a secure, scalable authentication platform."><i class="ph ph-check-circle" style="color: #059669;"></i> Authentication Guide</a>
|
|
203
|
-
<a href="/guides/claude-workflow-guide.html" class="nav-item" data-tooltip="This guide demonstrates an efficient workflow for using Claude Code with a refined CLAUDE.md file to create high-quality documentation and deploy it..."><i class="ph ph-pencil-simple" style="color: #d97706;"></i> Claude Workflow Guide</a>
|
|
204
|
-
<a href="/guides/configuration-guide.html" class="nav-item" data-tooltip="This guide explains how @knowcode/doc-builder handles configuration files and settings."><i class="ph ph-check-circle" style="color: #059669;"></i> Configuration Guide</a>
|
|
205
|
-
<a href="/guides/documentation-standards.html" class="nav-item" data-tooltip="This document defines the documentation standards and conventions for the @knowcode/doc-builder project."><i class="ph ph-pencil-simple" style="color: #d97706;"></i> Documentation Standards</a>
|
|
206
|
-
<a href="/guides/html-embedding-guide.html" class="nav-item" data-tooltip="Starting from version 1.9.2, doc-builder treats HTML files ( and ) as attachments that are automatically copied to your output directory during the..."><i class="ph ph-check-circle" style="color: #059669;"></i> Html Embedding Guide</a>
|
|
207
|
-
<a href="/guides/image-modal-guide.html" class="nav-item" data-tooltip="When users click on any image in your generated documentation, it opens in a professional modal overlay with: Full-screen viewing experience Smooth..."><i class="ph ph-check-circle" style="color: #059669;"></i> Image Modal Guide</a>
|
|
208
|
-
<a href="/guides/phosphor-icons-guide.html" class="nav-item" data-tooltip="@knowcode/doc-builder automatically converts Unicode emojis in your markdown files to beautiful Phosphor icons in the generated HTML."><i class="ph ph-pencil-simple" style="color: #d97706;"></i> Phosphor Icons Guide</a>
|
|
209
|
-
<a href="/guides/private-directory-authentication.html" class="nav-item" data-tooltip="The @knowcode/doc-builder provides flexible authentication options to protect your documentation."><i class="ph ph-check-circle" style="color: #059669;"></i> Private Directory Authentication</a>
|
|
210
|
-
<a href="/guides/private-directory-authentication-troubleshooting.html" class="nav-item" data-tooltip="Private Directory Authentication Troubleshooting."><i class="ph ph-check-circle" style="color: #059669;"></i> Private Directory Authentication Troubleshooting</a>
|
|
211
|
-
<a href="/guides/public-site-deployment.html" class="nav-item" data-tooltip="The @knowcode/doc-builder now supports deploying public documentation sites without authentication."><i class="ph ph-check-circle" style="color: #059669;"></i> Public Site Deployment</a>
|
|
212
|
-
<a href="/guides/search-engine-verification-guide.html" class="nav-item" data-tooltip="Search engine verification provides access to powerful webmaster tools:."><i class="ph ph-check-circle" style="color: #059669;"></i> Search Engine Verification Guide</a>
|
|
213
|
-
<a href="/guides/seo-guide.html" class="nav-item" data-tooltip="@knowcode/doc-builder includes comprehensive SEO (Search Engine Optimization) features to help your documentation rank better in search results and..."><i class="ph ph-check-circle" style="color: #059669;"></i> Seo Guide</a>
|
|
214
|
-
<a href="/guides/seo-optimization-guide.html" class="nav-item" data-tooltip="Comprehensive guide to optimizing documentation for search engines. Learn SEO best practices, use built-in features, and improve your rankings."><i class="ph ph-check-circle" style="color: #059669;"></i> SEO Optimization Guide for @knowcode/doc-builder</a>
|
|
215
|
-
<a href="/guides/supabase-authentication-complete-guide.html" class="nav-item" data-tooltip="@knowcode/doc-builder includes built-in Supabase authentication that provides enterprise-grade security with zero configuration."><i class="ph ph-check-circle" style="color: #059669;"></i> Supabase Authentication Complete Guide</a>
|
|
216
|
-
<a href="/guides/troubleshooting-guide.html" class="nav-item" data-tooltip="This guide helps you resolve common issues when using @knowcode/doc-builder."><i class="ph ph-check-circle" style="color: #059669;"></i> Troubleshooting Guide</a>
|
|
217
|
-
<a href="/guides/windows-setup-guide.html" class="nav-item" data-tooltip="This guide helps Windows users set up the complete AI-powered documentation workflow using Claude Code, @knowcode/doc-builder, and Vercel."><i class="ph ph-check-circle" style="color: #059669;"></i> Windows Setup Guide</a></div></div>
|
|
218
|
-
<div class="nav-section private-nav" data-level="1">
|
|
219
|
-
<a class="nav-title collapsible expanded" href="#" data-target="nav-private-1" >
|
|
220
|
-
<i class="ph ph-caret-right collapse-icon"></i><i class="ph ph-lock"></i> Private
|
|
221
|
-
</a>
|
|
222
|
-
<div class="nav-content" id="nav-private-1">
|
|
223
|
-
<a href="/private/cache-control-anti-pattern.html" class="nav-item" data-tooltip="Cache Control Anti-Pattern: Why Aggressive Cache-Busting is Bad for Documentation Sites."><i class="ph ph-check-circle" style="color: #059669;"></i> Cache Control Anti Pattern</a>
|
|
224
|
-
<a href="/private/next-steps-walkthrough.html" class="nav-item" data-tooltip="Now that we've implemented Supabase authentication, let's walk through testing the implementation and preparing for deployment."><i class="ph ph-check-circle" style="color: #059669;"></i> Next Steps Walkthrough</a>
|
|
225
|
-
<a href="/private/supabase-auth-implementation-completed.html" class="nav-item" data-tooltip="This document records the successful implementation of Supabase authentication in @knowcode/doc-builder v1.7.5+."><i class="ph ph-check-circle" style="color: #059669;"></i> Supabase Auth Implementation Completed</a>
|
|
226
|
-
<a href="/private/supabase-auth-implementation-plan.html" class="nav-item" data-tooltip="Supabase Auth Implementation Plan for @knowcode/doc-builder."><i class="ph ph-check-circle" style="color: #059669;"></i> Supabase Auth Implementation Plan</a>
|
|
227
|
-
<a href="/private/supabase-auth-integration-plan.html" class="nav-item" data-tooltip="Supabase Authentication Integration Plan for @knowcode/doc-builder."><i class="ph ph-check-circle" style="color: #059669;"></i> Supabase Auth Integration Plan</a>
|
|
228
|
-
<a href="/private/supabase-auth-setup-guide.html" class="nav-item active" data-tooltip="@knowcode/doc-builder supports enterprise-grade authentication through Supabase."><i class="ph ph-check-circle" style="color: #059669;"></i> Supabase Auth Setup Guide</a>
|
|
229
|
-
<a href="/private/test-private-doc.html" class="nav-item" data-tooltip="Test Private Document."><i class="ph ph-file-text"></i> Test Private Doc</a>
|
|
230
|
-
<a href="/private/user-management-tooling.html" class="nav-item" data-tooltip="The user management system is a set of tools designed to manage user access to Supabase-authenticated documentation sites built with."><i class="ph ph-check-circle" style="color: #059669;"></i> User Management Tooling</a></div></div>
|
|
231
|
-
<div class="nav-section private-nav" data-level="2">
|
|
232
|
-
<a class="nav-title collapsible" href="/private/launch/README.html" data-target="nav-private-launch-2" >
|
|
233
|
-
<i class="ph ph-caret-right collapse-icon"></i><i class="ph ph-rocket-launch"></i> Launch
|
|
234
|
-
</a>
|
|
235
|
-
<div class="nav-content collapsed" id="nav-private-launch-2">
|
|
236
|
-
<a href="/private/launch/README.html" class="nav-item" data-tooltip="This directory contains all documentation related to the commercial launch of @knowcode/doc-builder, including go-to-market strategy, platform..."><i class="ph ph-check-circle" style="color: #059669;"></i> Launch Overview</a>
|
|
237
|
-
<a href="/private/launch/auth-cleanup-summary.html" class="nav-item" data-tooltip="All references to the old client-side authentication system have been removed from @knowcode/doc-builder."><i class="ph ph-check-circle" style="color: #059669;"></i> Auth Cleanup Summary</a>
|
|
238
|
-
<a href="/private/launch/bubble-plugin-specification.html" class="nav-item" data-tooltip="This document outlines the technical specification for creating a Bubble.io plugin that integrates @knowcode/doc-builder, enabling Bubble developers..."><i class="ph ph-x-circle" style="color: #dc2626;"></i> Bubble Plugin Specification</a>
|
|
239
|
-
<a href="/private/launch/go-to-market-strategy.html" class="nav-item" data-tooltip="Go-to-Market Strategy & Product Launch Plan."><i class="ph ph-pencil-simple" style="color: #d97706;"></i> Go To Market Strategy</a>
|
|
240
|
-
<a href="/private/launch/launch-announcements.html" class="nav-item" data-tooltip="This document contains ready-to-use announcement templates for launching @knowcode/doc-builder across various platforms and channels."><i class="ph ph-check-circle" style="color: #059669;"></i> Launch Announcements</a>
|
|
241
|
-
<a href="/private/launch/vercel-deployment-auth-setup.html" class="nav-item" data-tooltip="Vercel Deployment Authentication Setup Guide."><i class="ph ph-check-circle" style="color: #059669;"></i> Vercel Deployment Auth Setup</a></div></div>
|
|
242
|
-
<div class="nav-section" data-level="1">
|
|
243
|
-
<a class="nav-title collapsible" href="#" data-target="nav-prompts-1" >
|
|
244
|
-
<i class="ph ph-caret-right collapse-icon"></i><i class="ph ph-chat-circle-dots"></i> Prompts
|
|
245
|
-
</a>
|
|
246
|
-
<div class="nav-content collapsed" id="nav-prompts-1">
|
|
247
|
-
<a href="/prompts/beautiful-documentation-design.html" class="nav-item" data-tooltip="🎨 Beautiful Documentation Design Guide."><i class="ph ph-check-circle" style="color: #059669;"></i> Beautiful Documentation Design</a>
|
|
248
|
-
<a href="/prompts/markdown-document-standards.html" class="nav-item" data-tooltip="Detailed introduction to the topic..."><i class="ph ph-pencil-simple" style="color: #d97706;"></i> Markdown Document Standards</a>
|
|
249
|
-
<a href="/prompts/project-rename-strategy-sasha-publish.html" class="nav-item" data-tooltip="This document outlines the comprehensive strategy for renaming the @knowcode/doc-builder project to "sasha-publish", including all package references,..."><i class="ph ph-x-circle" style="color: #dc2626;"></i> Project Rename Strategy Sasha Publish</a></div></div>
|
|
250
|
-
<div class="nav-section" data-level="1">
|
|
251
|
-
<a class="nav-title collapsible" href="#" data-target="nav-test-questions-1" >
|
|
252
|
-
<i class="ph ph-caret-right collapse-icon"></i><i class="ph ph-folder"></i> Test Questions
|
|
253
|
-
</a>
|
|
254
|
-
<div class="nav-content collapsed" id="nav-test-questions-1">
|
|
255
|
-
<a href="/test-questions/how-does-it-work%3F.html" class="nav-item" data-tooltip="This is a test file to verify that question marks work properly in filenames."><i class="ph ph-file-text"></i> How Does It Work?</a>
|
|
256
|
-
<a href="/test-questions/step-1%3A%20getting-started.html" class="nav-item" data-tooltip="Step 1: Getting Started."><i class="ph ph-file-text"></i> Step 1: Getting Started</a>
|
|
257
|
-
<a href="/test-questions/what-is-the-purpose.html" class="nav-item" data-tooltip="Understanding the purpose of our documentation system"><i class="ph ph-file-text"></i> What Is The Purpose?</a></div></div>
|
|
258
|
-
</nav>
|
|
259
|
-
<div class="resize-handle"></div>
|
|
260
|
-
</aside>
|
|
261
|
-
|
|
262
|
-
<!-- Content Area -->
|
|
263
|
-
<main class="content">
|
|
264
|
-
<div class="content-inner">
|
|
265
|
-
<h1>Supabase Authentication Setup Guide</h1>
|
|
266
|
-
<p>Complete guide for setting up secure authentication for your @knowcode/doc-builder documentation sites using Supabase.</p>
|
|
267
|
-
<h2>Overview</h2>
|
|
268
|
-
<p>@knowcode/doc-builder supports enterprise-grade authentication through Supabase. This provides:</p>
|
|
269
|
-
<ul>
|
|
270
|
-
<li><strong>Secure authentication</strong> with industry-standard security practices</li>
|
|
271
|
-
<li><strong>Domain-based access</strong> - automatic authentication based on site domain</li>
|
|
272
|
-
<li><strong>User management</strong> through CLI commands</li>
|
|
273
|
-
<li><strong>Password reset</strong> functionality built-in</li>
|
|
274
|
-
<li><strong>Enterprise features</strong> like audit logging and access control</li>
|
|
275
|
-
<li><strong>Zero configuration</strong> - built-in credentials (v1.8.2+)</li>
|
|
276
|
-
</ul>
|
|
277
|
-
<h2>Prerequisites</h2>
|
|
278
|
-
<ol>
|
|
279
|
-
<li><strong>Supabase Account</strong>: Create a free account at <a href="https://supabase.com">supabase.com</a></li>
|
|
280
|
-
<li><strong>Node.js 14+</strong>: Required for @knowcode/doc-builder</li>
|
|
281
|
-
<li><strong>Basic SQL knowledge</strong>: For database setup</li>
|
|
282
|
-
</ol>
|
|
283
|
-
<h2>Step 1: Create Supabase Project</h2>
|
|
284
|
-
<ol>
|
|
285
|
-
<li>Go to <a href="https://app.supabase.com">app.supabase.com</a></li>
|
|
286
|
-
<li>Click "New Project"</li>
|
|
287
|
-
<li>Choose your organization</li>
|
|
288
|
-
<li>Enter project name and database password</li>
|
|
289
|
-
<li>Select a region close to your users</li>
|
|
290
|
-
<li>Click "Create new project"</li>
|
|
291
|
-
</ol>
|
|
292
|
-
<p>Wait for the project to be created (usually 1-2 minutes).</p>
|
|
293
|
-
<h2>Step 2: Create Database Tables</h2>
|
|
294
|
-
<p>In your Supabase dashboard, go to <strong>SQL Editor</strong> and run this SQL:</p>
|
|
295
|
-
<pre><code class="language-sql">-- Single table for user access control (simplified!)
|
|
296
|
-
CREATE TABLE docbuilder_access (
|
|
297
|
-
user_id UUID REFERENCES auth.users(id) ON DELETE CASCADE,
|
|
298
|
-
domain TEXT NOT NULL,
|
|
299
|
-
created_at TIMESTAMPTZ DEFAULT NOW(),
|
|
300
|
-
PRIMARY KEY (user_id, domain)
|
|
301
|
-
);
|
|
302
|
-
|
|
303
|
-
-- Create index for faster lookups
|
|
304
|
-
CREATE INDEX idx_docbuilder_access_domain ON docbuilder_access(domain);
|
|
305
|
-
|
|
306
|
-
-- Enable Row Level Security
|
|
307
|
-
ALTER TABLE docbuilder_access ENABLE ROW LEVEL SECURITY;
|
|
308
|
-
|
|
309
|
-
-- RLS Policy: Users can only see their own access
|
|
310
|
-
CREATE POLICY "Users see own access" ON docbuilder_access
|
|
311
|
-
FOR SELECT USING (user_id = auth.uid());
|
|
312
|
-
</code></pre>
|
|
313
|
-
<h2>Step 3: Configure Authentication (Automatic in v1.8.2+)</h2>
|
|
314
|
-
<p>As of version 1.8.2, Supabase credentials are automatically configured! You have two options:</p>
|
|
315
|
-
<h3>Option 1: Use Built-in Credentials (Recommended)</h3>
|
|
316
|
-
<p>Simply create a <code>docs/private/</code> directory or set <code>authentication: 'supabase'</code> in your config. The system will automatically use the shared authentication database.</p>
|
|
317
|
-
<h3>Option 2: Use Custom Supabase Project</h3>
|
|
318
|
-
<p>If you want to use your own Supabase project:</p>
|
|
319
|
-
<ol>
|
|
320
|
-
<li>In your Supabase dashboard, go to <strong>Settings</strong> → <strong>API</strong></li>
|
|
321
|
-
<li>Copy these values:<ul>
|
|
322
|
-
<li><strong>Project URL</strong> (looks like <code>https://xxx.supabase.co</code>)</li>
|
|
323
|
-
<li><strong>Anon/Public Key</strong> (starts with <code>eyJ...</code>)</li>
|
|
324
|
-
</ul>
|
|
325
|
-
</li>
|
|
326
|
-
</ol>
|
|
327
|
-
<p><i style="font-size: 1.2em" class="ph ph-warning-circle" aria-label="warning"></i> <strong>Never share your service role key</strong> - only use the anon/public key for doc-builder.</p>
|
|
328
|
-
<h2>Step 4: Initialize Authentication</h2>
|
|
329
|
-
<h3>Option 1: Automatic Setup (v1.8.2+)</h3>
|
|
330
|
-
<p>Just create a config file or use the <code>--preset</code> flag:</p>
|
|
331
|
-
<pre><code class="language-javascript">// doc-builder.config.js
|
|
332
|
-
module.exports = {
|
|
333
|
-
siteName: 'My Documentation',
|
|
334
|
-
|
|
335
|
-
features: {
|
|
336
|
-
authentication: 'supabase'
|
|
337
|
-
}
|
|
338
|
-
// No auth config needed - uses built-in credentials!
|
|
339
|
-
};
|
|
340
|
-
</code></pre>
|
|
341
|
-
<h3>Option 2: Custom Supabase Project</h3>
|
|
342
|
-
<p>If using your own Supabase project:</p>
|
|
343
|
-
<pre><code class="language-javascript">module.exports = {
|
|
344
|
-
siteName: 'My Documentation',
|
|
345
|
-
|
|
346
|
-
features: {
|
|
347
|
-
authentication: 'supabase'
|
|
348
|
-
},
|
|
349
|
-
|
|
350
|
-
auth: {
|
|
351
|
-
supabaseUrl: 'https://xxx.supabase.co',
|
|
352
|
-
supabaseAnonKey: 'eyJ...'
|
|
353
|
-
// No siteId needed - uses domain automatically!
|
|
354
|
-
}
|
|
355
|
-
};
|
|
356
|
-
</code></pre>
|
|
357
|
-
<h2>Step 5: No Site Registration Needed!</h2>
|
|
358
|
-
<p>The new domain-based system eliminates the need for site registration. The system automatically uses the current domain (e.g., <code>docs.example.com</code>) as the access key. Just grant users access to your domain in the next step.</p>
|
|
359
|
-
<h2>Step 6: Create Your First User</h2>
|
|
360
|
-
<h3>Method 1: Through Supabase Dashboard</h3>
|
|
361
|
-
<ol>
|
|
362
|
-
<li>Go to <strong>Authentication</strong> → <strong>Users</strong> in Supabase</li>
|
|
363
|
-
<li>Click "Add User"</li>
|
|
364
|
-
<li>Enter email and password</li>
|
|
365
|
-
<li>Click "Create User"</li>
|
|
366
|
-
<li>Copy the user ID from the users table</li>
|
|
367
|
-
</ol>
|
|
368
|
-
<h3>Method 2: Through Your App (Recommended)</h3>
|
|
369
|
-
<p>Users can sign up when they visit your documentation site and try to log in.</p>
|
|
370
|
-
<h2>Step 7: Grant User Access</h2>
|
|
371
|
-
<h3>Using SQL:</h3>
|
|
372
|
-
<pre><code class="language-sql">-- Grant access by domain (no site ID needed!)
|
|
373
|
-
INSERT INTO docbuilder_access (user_id, domain)
|
|
374
|
-
VALUES (
|
|
375
|
-
(SELECT id FROM auth.users WHERE email = 'user@example.com'),
|
|
376
|
-
'docs.yourcompany.com'
|
|
377
|
-
);
|
|
378
|
-
|
|
379
|
-
-- Grant access to multiple domains
|
|
380
|
-
INSERT INTO docbuilder_access (user_id, domain) VALUES
|
|
381
|
-
((SELECT id FROM auth.users WHERE email = 'user@example.com'), 'docs.yourcompany.com'),
|
|
382
|
-
((SELECT id FROM auth.users WHERE email = 'user@example.com'), 'staging-docs.yourcompany.com'),
|
|
383
|
-
((SELECT id FROM auth.users WHERE email = 'user@example.com'), 'localhost:3000');
|
|
384
|
-
</code></pre>
|
|
385
|
-
<h3>Using CLI (Coming Soon):</h3>
|
|
386
|
-
<pre><code class="language-bash">npx @knowcode/doc-builder auth:grant \
|
|
387
|
-
--email user@example.com \
|
|
388
|
-
--domain docs.yourcompany.com
|
|
389
|
-
</code></pre>
|
|
390
|
-
<h2>Step 8: Build and Deploy</h2>
|
|
391
|
-
<pre><code class="language-bash"># Build with Supabase authentication
|
|
392
|
-
npx @knowcode/doc-builder build
|
|
393
|
-
|
|
394
|
-
# Deploy to Vercel
|
|
395
|
-
npx @knowcode/doc-builder deploy
|
|
396
|
-
</code></pre>
|
|
397
|
-
<p>Your documentation site now has secure authentication! <i style="font-size: 1.2em" class="ph ph-confetti" aria-label="party"></i></p>
|
|
398
|
-
<h2>User Management</h2>
|
|
399
|
-
<h3>List Users with Access</h3>
|
|
400
|
-
<pre><code class="language-sql">-- List all users for a specific domain
|
|
401
|
-
SELECT u.email, da.created_at as granted_at
|
|
402
|
-
FROM docbuilder_access da
|
|
403
|
-
JOIN auth.users u ON u.id = da.user_id
|
|
404
|
-
WHERE da.domain = 'docs.yourcompany.com';
|
|
405
|
-
</code></pre>
|
|
406
|
-
<h3>Revoke Access</h3>
|
|
407
|
-
<pre><code class="language-sql">-- Remove access for a specific domain
|
|
408
|
-
DELETE FROM docbuilder_access
|
|
409
|
-
WHERE user_id = (SELECT id FROM auth.users WHERE email = 'user@example.com')
|
|
410
|
-
AND domain = 'docs.yourcompany.com';
|
|
411
|
-
</code></pre>
|
|
412
|
-
<h3>Reset User Password</h3>
|
|
413
|
-
<p>Users can reset their own passwords through the login page "Forgot Password" link.</p>
|
|
414
|
-
<h2>Environment Variables (Optional)</h2>
|
|
415
|
-
<p>For better security with custom Supabase projects, use environment variables:</p>
|
|
416
|
-
<pre><code class="language-bash"># .env
|
|
417
|
-
SUPABASE_URL=https://xxx.supabase.co
|
|
418
|
-
SUPABASE_ANON_KEY=eyJ...
|
|
419
|
-
</code></pre>
|
|
420
|
-
<p>Update your config:</p>
|
|
421
|
-
<pre><code class="language-javascript">module.exports = {
|
|
422
|
-
auth: {
|
|
423
|
-
supabaseUrl: process.env.SUPABASE_URL,
|
|
424
|
-
supabaseAnonKey: process.env.SUPABASE_ANON_KEY
|
|
425
|
-
// No siteId needed - uses domain automatically!
|
|
426
|
-
}
|
|
427
|
-
};
|
|
428
|
-
</code></pre>
|
|
429
|
-
<h2>Multi-Site Setup</h2>
|
|
430
|
-
<p>The domain-based system makes multi-site setup incredibly simple:</p>
|
|
431
|
-
<ol>
|
|
432
|
-
<li><p><strong>No site registration needed</strong> - Each domain is automatically recognized</p>
|
|
433
|
-
</li>
|
|
434
|
-
<li><p><strong>Grant users access to multiple domains</strong>:</p>
|
|
435
|
-
</li>
|
|
436
|
-
</ol>
|
|
437
|
-
<pre><code class="language-sql">-- User can access multiple documentation sites
|
|
438
|
-
INSERT INTO docbuilder_access (user_id, domain) VALUES
|
|
439
|
-
((SELECT id FROM auth.users WHERE email = 'user@example.com'), 'docs.product1.com'),
|
|
440
|
-
((SELECT id FROM auth.users WHERE email = 'user@example.com'), 'internal.company.com'),
|
|
441
|
-
((SELECT id FROM auth.users WHERE email = 'user@example.com'), 'api.company.com');
|
|
442
|
-
</code></pre>
|
|
443
|
-
<ol start="3">
|
|
444
|
-
<li><strong>Same configuration for all sites</strong> - Just deploy to different domains!</li>
|
|
445
|
-
</ol>
|
|
446
|
-
<h2>Security Features</h2>
|
|
447
|
-
<h3>What Supabase Provides</h3>
|
|
448
|
-
<ul>
|
|
449
|
-
<li><i style="font-size: 1.2em" class="ph ph-check-circle" aria-label="checked"></i> <strong>Password hashing</strong> with bcrypt</li>
|
|
450
|
-
<li><i style="font-size: 1.2em" class="ph ph-check-circle" aria-label="checked"></i> <strong>JWT tokens</strong> with automatic refresh</li>
|
|
451
|
-
<li><i style="font-size: 1.2em" class="ph ph-check-circle" aria-label="checked"></i> <strong>Session management</strong> with secure cookies</li>
|
|
452
|
-
<li><i style="font-size: 1.2em" class="ph ph-check-circle" aria-label="checked"></i> <strong>Rate limiting</strong> on authentication endpoints</li>
|
|
453
|
-
<li><i style="font-size: 1.2em" class="ph ph-check-circle" aria-label="checked"></i> <strong>Email verification</strong> (optional)</li>
|
|
454
|
-
<li><i style="font-size: 1.2em" class="ph ph-check-circle" aria-label="checked"></i> <strong>Password reset</strong> flows</li>
|
|
455
|
-
<li><i style="font-size: 1.2em" class="ph ph-check-circle" aria-label="checked"></i> <strong>Multi-factor authentication</strong> (optional)</li>
|
|
456
|
-
</ul>
|
|
457
|
-
<h3>Row Level Security</h3>
|
|
458
|
-
<p>All data access is protected by RLS policies:</p>
|
|
459
|
-
<ul>
|
|
460
|
-
<li>Users can only see their own access records</li>
|
|
461
|
-
<li>Domain-based access is automatically enforced</li>
|
|
462
|
-
<li>No way to access other users' data</li>
|
|
463
|
-
</ul>
|
|
464
|
-
<h2>Troubleshooting</h2>
|
|
465
|
-
<h3>"Invalid JWT" Errors</h3>
|
|
466
|
-
<ul>
|
|
467
|
-
<li>Check that your Supabase URL and anon key are correct</li>
|
|
468
|
-
<li>Ensure you're using the anon key, not the service role key</li>
|
|
469
|
-
<li>Clear browser cookies and try again</li>
|
|
470
|
-
</ul>
|
|
471
|
-
<h3>Users Can't Access Site</h3>
|
|
472
|
-
<ul>
|
|
473
|
-
<li>Verify the user exists in <code>auth.users</code> table</li>
|
|
474
|
-
<li>Check that user has access in <code>docbuilder_access</code> table for the correct domain</li>
|
|
475
|
-
<li>Confirm the domain in the database matches your deployment URL</li>
|
|
476
|
-
</ul>
|
|
477
|
-
<h3>Login Page Not Working</h3>
|
|
478
|
-
<ul>
|
|
479
|
-
<li>Check browser console for JavaScript errors</li>
|
|
480
|
-
<li>Verify Supabase credentials in generated HTML</li>
|
|
481
|
-
<li>Ensure Supabase project is not paused</li>
|
|
482
|
-
</ul>
|
|
483
|
-
<h3>Build Errors</h3>
|
|
484
|
-
<ul>
|
|
485
|
-
<li>Run <code>npm install @supabase/supabase-js</code> if missing</li>
|
|
486
|
-
<li>Check that config file has all required fields</li>
|
|
487
|
-
<li>Validate Supabase URL format (must be <a href="https://xxx.supabase.co">https://xxx.supabase.co</a>)</li>
|
|
488
|
-
</ul>
|
|
489
|
-
<h2>Security Best Practices</h2>
|
|
490
|
-
<p>When using Supabase authentication:</p>
|
|
491
|
-
<ol>
|
|
492
|
-
<li><strong>Use environment variables</strong> - Store credentials securely</li>
|
|
493
|
-
<li><strong>Enable RLS</strong> - Always use Row Level Security on tables</li>
|
|
494
|
-
<li><strong>Regular audits</strong> - Review user access permissions</li>
|
|
495
|
-
<li><strong>Monitor logs</strong> - Check Supabase dashboard for anomalies</li>
|
|
496
|
-
<li><strong>Stay updated</strong> - Keep @knowcode/doc-builder and dependencies current</li>
|
|
497
|
-
</ol>
|
|
498
|
-
<h2>Advanced Configuration</h2>
|
|
499
|
-
<h3>Custom Login Styling</h3>
|
|
500
|
-
<p>Customize the login page by modifying the generated CSS:</p>
|
|
501
|
-
<pre><code class="language-css">.auth-container {
|
|
502
|
-
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
|
503
|
-
}
|
|
504
|
-
|
|
505
|
-
.auth-box {
|
|
506
|
-
backdrop-filter: blur(10px);
|
|
507
|
-
border: 1px solid rgba(255,255,255,0.1);
|
|
508
|
-
}
|
|
509
|
-
</code></pre>
|
|
510
|
-
<h3>OAuth Providers</h3>
|
|
511
|
-
<p>Enable social login in Supabase:</p>
|
|
512
|
-
<ol>
|
|
513
|
-
<li>Go to <strong>Authentication</strong> → <strong>Providers</strong></li>
|
|
514
|
-
<li>Enable Google, GitHub, etc.</li>
|
|
515
|
-
<li>Configure OAuth settings</li>
|
|
516
|
-
<li>Users can then sign in with social accounts</li>
|
|
517
|
-
</ol>
|
|
518
|
-
<p>No changes needed in doc-builder - it automatically supports all Supabase auth providers.</p>
|
|
519
|
-
<h2>Support</h2>
|
|
520
|
-
<ul>
|
|
521
|
-
<li><strong>Documentation Issues</strong>: <a href="https://github.com/wapdat/doc-builder/issues">GitHub Issues</a></li>
|
|
522
|
-
<li><strong>Supabase Help</strong>: <a href="https://supabase.com/docs">Supabase Docs</a></li>
|
|
523
|
-
<li><strong>Authentication Guides</strong>: <a href="https://supabase.com/docs/guides/auth">Supabase Auth</a></li>
|
|
524
|
-
</ul>
|
|
525
|
-
<h2>Summary</h2>
|
|
526
|
-
<p>You now have secure, enterprise-grade authentication for your documentation! Key benefits:</p>
|
|
527
|
-
<ol>
|
|
528
|
-
<li><strong>No more client-side credentials</strong> - everything is server-validated</li>
|
|
529
|
-
<li><strong>Multi-site support</strong> - one account for all your docs</li>
|
|
530
|
-
<li><strong>Professional features</strong> - password reset, session management</li>
|
|
531
|
-
<li><strong>Scalable</strong> - handles teams of any size</li>
|
|
532
|
-
<li><strong>Free tier</strong> - supports up to 50,000 monthly active users</li>
|
|
533
|
-
</ol>
|
|
534
|
-
<p>Your documentation is now properly secured while maintaining the simplicity that makes @knowcode/doc-builder great to use.</p>
|
|
535
|
-
|
|
536
|
-
</div>
|
|
537
|
-
</main>
|
|
538
|
-
</div>
|
|
539
|
-
|
|
540
|
-
<!-- Scripts -->
|
|
541
|
-
<script>
|
|
542
|
-
// Pass configuration to frontend
|
|
543
|
-
window.docBuilderConfig = {
|
|
544
|
-
features: {
|
|
545
|
-
showPdfDownload: true,
|
|
546
|
-
menuDefaultOpen: false,
|
|
547
|
-
mermaidEnhanced: true
|
|
548
|
-
}
|
|
549
|
-
};
|
|
550
|
-
</script>
|
|
551
|
-
<script src="/js/main.js"></script>
|
|
552
|
-
<script src="https://unpkg.com/@supabase/supabase-js@2"></script>
|
|
553
|
-
<script src="/js/auth.js"></script>
|
|
554
|
-
</body>
|
|
555
|
-
</html>
|