create-authenik8-app 2.0.3 → 2.0.4

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 (2) hide show
  1. package/README.md +59 -221
  2. package/package.json +2 -1
package/README.md CHANGED
@@ -1,71 +1,55 @@
1
- <<<<<<< HEAD
2
- <<<<<<< HEAD
3
-
4
-
5
- =======
6
- Good catch — then your README should reflect that. Don’t undersell what you already built.
7
-
8
- Let’s fix it properly.
9
- >>>>>>> 5471da4 (Update file README.md)
10
1
 
2
+ # Create-authenik8-app
11
3
 
12
- ---
13
4
 
14
- <<<<<<< HEAD
15
- =======
16
- ✅ Updated npm README (with RBAC included)
17
5
 
18
- Replace your README with this version:
6
+ <p align="center">
7
+ <b> A lightweight authentication infrastructure generator powered by an internal Identity Engine.</b>
8
+ </p>
19
9
 
20
- >>>>>>> 5471da4 (Update file README.md)
21
- # create-authenik8-app
22
10
 
23
- <p align="center">
24
- <b>Scaffold secure Express authentication APIs in seconds</b>
25
- </p>
26
- <<<<<<< HEAD
11
+ ![subtitle](https://readme-typing-svg.demolab.com?font=Fira+Code&size=18&pause=1000&color=00C2FF&width=600&lines=Production-ready+Auth+Generator;JWT+%2B+OAuth+%2B+Prisma+%2B+Redis;Identity+Engine+powered+authentication+system)
27
12
 
28
13
  <p align="center">
29
- JWT Refresh Tokens • Redis • RBAC • TypeScript • Express
14
+ <img src="./assets/giffy-ezgif.com-video-to-gif-converter.gif" width="600" />
30
15
  </p>
31
-
32
16
  ---
33
17
 
34
- ## 📦 Usage
18
+ ## Usage
35
19
 
36
20
  Create a new project:
37
21
 
38
- ```bash
22
+ bash
39
23
  npx create-authenik8-app my-app
40
24
 
41
25
  Then:
42
26
 
43
27
  cd my-app
44
- npm install
28
+ redis-server --daemonize yes
45
29
  npm run dev
46
- ```
30
+
47
31
 
48
32
  ---
49
33
 
50
34
  ## What you get instantly
51
35
 
52
- A fully working Express authentication starter with:
36
+ A fully working Express authentication starter with:
53
37
 
54
- JWT authentication (access + refresh tokens)
38
+ JWT authentication (access + refresh tokens)
55
39
 
56
- Secure refresh token rotation
40
+ Secure refresh token rotation
57
41
 
58
- Redis-based token storage
42
+ Redis-based token storage
59
43
 
60
- Role-Based Access Control (RBAC)
44
+ Role-Based Access Control (RBAC)
61
45
 
62
- TypeScript setup
46
+ TypeScript setup
63
47
 
64
- Express server preconfigured
48
+ Express server preconfigured
65
49
 
66
- Clean scalable folder structure
50
+ Clean scalable folder structure
67
51
 
68
- .env file generated automatically
52
+ .env file generated automatically
69
53
 
70
54
 
71
55
 
@@ -99,9 +83,8 @@ Redis (required for refresh tokens)
99
83
 
100
84
  ---
101
85
 
102
- ## Redis Setup
103
- ```
104
-
86
+ ## Redis Setup
87
+
105
88
  Local
106
89
 
107
90
  redis-server
@@ -110,228 +93,85 @@ Docker
110
93
 
111
94
  docker run -p 6379:6379 redis
112
95
 
113
- ```
96
+
114
97
  ---
115
98
 
116
99
  ## Environment Variables
117
100
 
118
101
  Generated automatically:
119
- ```
102
+
103
+
120
104
  JWT_SECRET=your-secret
121
105
  REFRESH_SECRET=your-refresh-secret
122
106
 
123
107
  REDIS_HOST=127.0.0.1
124
108
  REDIS_PORT=6379
125
109
 
126
- ```
110
+
111
+
127
112
  ---
128
113
 
114
+
115
+
129
116
  ## RBAC Example
130
- ```
131
- Example of a protected route:
132
117
 
118
+ Example of a protected route:
119
+ ``
133
120
  app.get("/admin", auth.requireAdmin, (req, res) => {
134
121
  res.json({ message: "Admin only route" });
135
122
  });
123
+ ``
136
124
 
137
- ```
138
125
  ---
139
-
140
- 📦 Powered by
126
+ ## Powered by
141
127
 
142
128
  authenik8-core
143
129
 
144
-
145
-
146
- ---
147
-
148
- ## Project Structure
149
- ```
150
-
151
- my-app/
152
- ├── src/
153
- │ |
154
- │ ├
155
- │ └── server.ts
156
- ├── .env
157
- ├── package.json
158
- └── tsconfig.json
159
-
160
- ```
161
- ---
162
-
163
- ## Notes
164
-
165
- Redis is required for refresh token handling
166
-
167
- This CLI generates a starter project, not a full framework
168
-
169
- RBAC is included via middleware (e.g. requireAdmin)
170
-
171
-
172
-
173
- ---
174
-
175
- ## Roadmap
176
-
177
- OAuth providers (Google, GitHub)
178
-
179
- Advanced RBAC (custom roles/permissions)
180
-
181
- Docker templates
182
-
183
- Admin dashboard
184
-
185
- Production presets
186
-
187
-
188
-
189
- ---
190
- # Create-authenik8-app
191
- =======
192
- # create-authenik8-app
193
- >>>>>>> 01efb21 (Update file README.md)
194
-
195
- <p align="center">
196
- <b>Scaffold secure Express authentication APIs in seconds</b>
197
- </p>
198
- =======
199
- >>>>>>> 5471da4 (Update file README.md)
200
-
201
- <p align="center">
202
- JWT • Refresh Tokens • Redis • RBAC • TypeScript • Express
203
- </p>
204
-
205
- ---
206
-
207
- ## Usage
208
-
209
- Create a new project:
210
-
211
- ```bash
212
- npx create-authenik8-app my-app
213
-
214
- Then:
215
-
216
- cd my-app
217
- npm install
218
- npm run dev
219
-
220
-
221
- ---
222
-
223
- ## What you get instantly
224
-
225
- A fully working Express authentication starter with:
226
-
227
- JWT authentication (access + refresh tokens)
228
-
229
- Secure refresh token rotation
230
-
231
- Redis-based token storage
232
-
233
- Role-Based Access Control (RBAC)
234
-
235
- TypeScript setup
236
-
237
- Express server preconfigured
238
-
239
- Clean scalable folder structure
240
-
241
- .env file generated automatically
242
-
243
-
244
-
245
- ---
246
-
247
- 🧠 Why Authenik8?
248
-
249
- Authentication systems usually require:
250
-
251
- manual JWT setup
252
-
253
- refresh token handling
254
-
255
- Redis/session configuration
256
-
257
- access control logic
258
-
259
-
260
- Authenik8 provides all of this out of the box so you can start building your API immediately.
261
-
262
-
263
- ---
264
-
265
- Requirements
266
-
267
- Node.js 18+
268
-
269
- Redis (required for refresh tokens)
270
-
271
-
272
-
273
130
  ---
274
131
 
275
- Redis Setup
276
- ```
132
+ ## Design Goal
133
+ Authenik8 is not an auth library.
134
+ It is an auth system generator.
135
+ It removes setup time and enforces consistent backend security patterns by default.
277
136
 
278
- Local
137
+ Authenik8 treats authentication as an identity resolution problem, not just a login system.
279
138
 
280
- redis-server
139
+ At the core is an Identity Engine that ensures consistent user identity across:
140
+ - credentials (email/password)
141
+ - OAuth providers
142
+ - future authentication strategies
281
143
 
282
- Docker
283
-
284
- docker run -p 6379:6379 redis
285
- ```
286
144
  ---
287
145
 
288
- Environment Variables
289
-
290
- Generated automatically:
291
- ```
292
- JWT_SECRET=your-secret
293
- REFRESH_SECRET=your-refresh-secret
294
-
295
- REDIS_HOST=127.0.0.1
296
- REDIS_PORT=6379
297
- ```
146
+ ## OAuth
147
+ • Google
148
+ Github
149
+ OAuth in Authenik8 is not a direct provider integration layer.
298
150
 
299
- ---
151
+ It is implemented through an internal Identity Engine that sits inside `authenik8-core`.
300
152
 
301
- RBAC Example
153
+ The Identity Engine is responsible for:
154
+ - Resolving OAuth profiles into system identities
155
+ - Handling login vs account linking flows
156
+ - Preventing duplicate identity creation across providers
157
+ - Normalizing provider-specific user data into a unified schema
302
158
 
303
- Example of a protected route:
304
- ```
305
- app.get("/admin", auth.requireAdmin, (req, res) => {
306
- res.json({ message: "Admin only route" });
307
- });
308
- ```
159
+ This allows OAuth support to remain consistent regardless of provider complexity.
309
160
 
310
161
  ---
311
162
 
312
- 📦 Powered by
163
+ ### Production Enhancements
313
164
 
314
- authenik8-core
165
+ - PM2 cluster mode support
166
+ - Auto restart on crashes
167
+ - Memory usage guardrails
168
+ - Basic security middleware (helmet, rate limiting)
315
169
 
316
170
 
317
171
 
318
172
  ---
319
173
 
320
- 📁 Project Structure
321
-
322
- my-app/
323
- ├── src/
324
- │ ├
325
- │ ├
326
- │ └── server.ts
327
- ├── .env
328
- ├── package.json
329
- └── tsconfig.json
330
-
331
-
332
- ---
333
-
334
- 📌 Notes
174
+ ## Notes
335
175
 
336
176
  Redis is required for refresh token handling
337
177
 
@@ -343,9 +183,7 @@ RBAC is included via middleware (e.g. requireAdmin)
343
183
 
344
184
  ---
345
185
 
346
- 🧱 Roadmap
347
-
348
- OAuth providers (Google, GitHub)
186
+ ## Roadmap
349
187
 
350
188
  Advanced RBAC (custom roles/permissions)
351
189
 
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "create-authenik8-app",
3
- "version": "2.0.3",
3
+ "version": "2.0.4",
4
+
4
5
  "description":"Create production-ready backend APIs in seconds. Authenik8 scaffolds Express + Prisma projects with JWT authentication, database setup (PostgreSQL or SQLite), and scalable architecture out of the box.",
5
6
  "bin": {
6
7
  "create-authenik8-app": "dist/bin/index.js"