@tinyrack/tinyauth-server 0.0.16 → 0.1.0
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/dist/entrypoints/app.d.ts +8 -1
- package/dist/entrypoints/app.d.ts.map +1 -1
- package/dist/entrypoints/app.js +5 -0
- package/dist/entrypoints/app.js.map +1 -1
- package/dist/lib/config/client.d.ts.map +1 -1
- package/dist/lib/config/client.js +5 -1
- package/dist/lib/config/client.js.map +1 -1
- package/dist/lib/config/identity-providers.d.ts.map +1 -1
- package/dist/lib/config/identity-providers.js +10 -33
- package/dist/lib/config/identity-providers.js.map +1 -1
- package/dist/lib/config/url-policy.d.ts +4 -0
- package/dist/lib/config/url-policy.d.ts.map +1 -0
- package/dist/lib/config/url-policy.js +38 -0
- package/dist/lib/config/url-policy.js.map +1 -0
- package/dist/lib/pkce.d.ts.map +1 -1
- package/dist/lib/pkce.js +3 -0
- package/dist/lib/pkce.js.map +1 -1
- package/dist/middleware/csrf.d.ts +2 -0
- package/dist/middleware/csrf.d.ts.map +1 -0
- package/dist/middleware/csrf.js +51 -0
- package/dist/middleware/csrf.js.map +1 -0
- package/dist/repositories/revoked-token.repository.d.ts +20 -0
- package/dist/repositories/revoked-token.repository.d.ts.map +1 -1
- package/dist/repositories/revoked-token.repository.js +44 -1
- package/dist/repositories/revoked-token.repository.js.map +1 -1
- package/dist/routes/api/oauth/_provider/authorize/get.d.ts.map +1 -1
- package/dist/routes/api/oauth/_provider/authorize/get.js +13 -1
- package/dist/routes/api/oauth/_provider/authorize/get.js.map +1 -1
- package/dist/routes/api/oauth/_provider/callback/post.d.ts.map +1 -1
- package/dist/routes/api/oauth/_provider/callback/post.js +30 -1
- package/dist/routes/api/oauth/_provider/callback/post.js.map +1 -1
- package/dist/routes/index.d.ts +8 -1
- package/dist/routes/index.d.ts.map +1 -1
- package/dist/routes/oauth/.well-known/openid-configuration/get.d.ts +4 -0
- package/dist/routes/oauth/.well-known/openid-configuration/get.d.ts.map +1 -1
- package/dist/routes/oauth/.well-known/openid-configuration/get.js +25 -2
- package/dist/routes/oauth/.well-known/openid-configuration/get.js.map +1 -1
- package/dist/routes/oauth/authorize/get.d.ts +2 -0
- package/dist/routes/oauth/authorize/get.d.ts.map +1 -1
- package/dist/routes/oauth/authorize/get.js +4 -0
- package/dist/routes/oauth/authorize/get.js.map +1 -1
- package/dist/routes/oauth/index.d.ts +8 -1
- package/dist/routes/oauth/index.d.ts.map +1 -1
- package/dist/routes/oauth/introspect/post.d.ts +1 -0
- package/dist/routes/oauth/introspect/post.d.ts.map +1 -1
- package/dist/routes/oauth/token/post.d.ts +1 -1
- package/dist/routes/oauth/token/post.d.ts.map +1 -1
- package/dist/routes/oauth/token/post.js +1 -0
- package/dist/routes/oauth/token/post.js.map +1 -1
- package/dist/routes/oauth/userinfo/get.d.ts.map +1 -1
- package/dist/routes/oauth/userinfo/get.js +3 -0
- package/dist/routes/oauth/userinfo/get.js.map +1 -1
- package/dist/schemas/error.d.ts +75 -0
- package/dist/schemas/error.d.ts.map +1 -1
- package/dist/schemas/error.js +3 -0
- package/dist/schemas/error.js.map +1 -1
- package/dist/schemas/field.d.ts +1 -6
- package/dist/schemas/field.d.ts.map +1 -1
- package/dist/schemas/field.js +2 -3
- package/dist/schemas/field.js.map +1 -1
- package/dist/schemas/oauth.d.ts +1 -1
- package/dist/schemas/oauth.js +1 -1
- package/dist/schemas/oauth.js.map +1 -1
- package/dist/schemas/response.d.ts +1 -1
- package/dist/services/jwt.service.d.ts +5 -0
- package/dist/services/jwt.service.d.ts.map +1 -1
- package/dist/services/jwt.service.js +31 -16
- package/dist/services/jwt.service.js.map +1 -1
- package/dist/services/oauth-authorize.service.d.ts +5 -1
- package/dist/services/oauth-authorize.service.d.ts.map +1 -1
- package/dist/services/oauth-authorize.service.js +65 -16
- package/dist/services/oauth-authorize.service.js.map +1 -1
- package/dist/services/oauth-client.service.d.ts +1 -0
- package/dist/services/oauth-client.service.d.ts.map +1 -1
- package/dist/services/oauth-client.service.js +5 -0
- package/dist/services/oauth-client.service.js.map +1 -1
- package/dist/services/oauth-connect.service.d.ts +1 -0
- package/dist/services/oauth-connect.service.d.ts.map +1 -1
- package/dist/services/oauth-connect.service.js +61 -7
- package/dist/services/oauth-connect.service.js.map +1 -1
- package/dist/services/oauth-token.service.d.ts +8 -1
- package/dist/services/oauth-token.service.d.ts.map +1 -1
- package/dist/services/oauth-token.service.js +111 -30
- package/dist/services/oauth-token.service.js.map +1 -1
- package/package.json +1 -1
- package/public/assets/{index-CLq6d6iO.js → index-DaJe6s9D.js} +12 -12
- package/public/assets/{index-CLq6d6iO.js.map → index-DaJe6s9D.js.map} +1 -1
- package/public/index.html +1 -1
- package/readme.md +74 -25
package/public/index.html
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
<!-- Preload critical API data for faster initial render -->
|
|
19
19
|
<link rel="preload" href="/api/config" as="fetch" crossorigin="anonymous" />
|
|
20
20
|
<link rel="preload" href="/api/user/session" as="fetch" crossorigin="anonymous" />
|
|
21
|
-
<script type="module" crossorigin src="/assets/index-
|
|
21
|
+
<script type="module" crossorigin src="/assets/index-DaJe6s9D.js"></script>
|
|
22
22
|
<link rel="stylesheet" crossorigin href="/assets/index-6odabbrQ.css">
|
|
23
23
|
</head>
|
|
24
24
|
<body>
|
package/readme.md
CHANGED
|
@@ -1,41 +1,80 @@
|
|
|
1
|
-
|
|
1
|
+
<div align="center">
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
# TinyAuth
|
|
4
|
+
|
|
5
|
+
**A lightweight, self-hosted OpenID Connect provider for modern applications.**
|
|
6
|
+
|
|
7
|
+
[](https://github.com/tinyrack-net/tinyauth/actions/workflows/ci.yml)
|
|
8
|
+
[](https://www.npmjs.com/package/@tinyrack/tinyauth-server)
|
|
9
|
+
[](https://www.npmjs.com/package/@tinyrack/tinyauth-standalone)
|
|
10
|
+
[](https://opensource.org/licenses/MIT)
|
|
11
|
+
[](https://nodejs.org/)
|
|
12
|
+
|
|
13
|
+
[Documentation](https://tinyauth.tinyrack.net/en/) · [Configuration](https://tinyauth.tinyrack.net/en/configuration/overview/) · [한국어](https://tinyauth.tinyrack.net/ko/)
|
|
14
|
+
|
|
15
|
+
</div>
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
TinyAuth is a self-hosted OpenID Connect (OIDC) provider that gives your apps a standards-based login system without bringing in a full identity platform.
|
|
20
|
+
|
|
21
|
+
It supports OAuth2/OIDC authorization code flows, PKCE, password login, passkeys, TOTP, social login, and a customizable multilingual frontend. Run it as a standalone server, ship it with Docker, or embed the server package in your own Node.js application.
|
|
4
22
|
|
|
5
23
|
## Features
|
|
6
24
|
|
|
7
|
-
- **OIDC/OAuth2
|
|
8
|
-
- **Multiple
|
|
9
|
-
- **Two-
|
|
10
|
-
- **
|
|
11
|
-
- **Customizable
|
|
12
|
-
- **Database
|
|
13
|
-
- **
|
|
25
|
+
- **OIDC/OAuth2 provider** with authorization code flow, PKCE, discovery, token, userinfo, introspection, and revocation endpoints
|
|
26
|
+
- **Multiple sign-in methods** including password, passkeys/WebAuthn, GitHub, Google, Apple, and generic OAuth/OIDC providers
|
|
27
|
+
- **Two-factor authentication** with TOTP and passkey-based second factors
|
|
28
|
+
- **Config-driven deployment** through a single YAML file
|
|
29
|
+
- **Customizable frontend** with themes, branding, background images, language selection, and terms flows
|
|
30
|
+
- **Database support** for SQLite and PostgreSQL
|
|
31
|
+
- **Standalone or embedded usage** through Docker, the standalone CLI, or `@tinyrack/tinyauth-server`
|
|
14
32
|
|
|
15
|
-
##
|
|
33
|
+
## Installation
|
|
34
|
+
|
|
35
|
+
### Docker
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
docker run --rm \
|
|
39
|
+
-p 8080:8080 \
|
|
40
|
+
-v ./config.yaml:/opt/config.yaml \
|
|
41
|
+
ghcr.io/tinyrack-net/tinyauth:latest
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Standalone CLI
|
|
16
45
|
|
|
17
46
|
```bash
|
|
18
|
-
|
|
47
|
+
npm install -g @tinyrack/tinyauth-standalone
|
|
19
48
|
```
|
|
20
49
|
|
|
21
|
-
|
|
50
|
+
```bash
|
|
51
|
+
tinyauth serve --config-path ./config.yaml
|
|
52
|
+
```
|
|
22
53
|
|
|
23
|
-
|
|
54
|
+
### Server package
|
|
24
55
|
|
|
25
|
-
|
|
56
|
+
Use the server package when you want to embed TinyAuth in your own Node.js runtime.
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
npm install @tinyrack/tinyauth-server
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Quick Start
|
|
63
|
+
|
|
64
|
+
Create a minimal `config.yaml`:
|
|
26
65
|
|
|
27
66
|
```yaml
|
|
28
67
|
app:
|
|
29
|
-
host:
|
|
68
|
+
host: http://localhost:8080
|
|
30
69
|
port: 8080
|
|
31
70
|
|
|
32
71
|
security:
|
|
33
|
-
session_secret:
|
|
34
|
-
hash_secret:
|
|
72
|
+
session_secret: change-me-session-secret
|
|
73
|
+
hash_secret: change-me-hash-secret
|
|
35
74
|
|
|
36
75
|
database:
|
|
37
76
|
type: sqlite
|
|
38
|
-
path: data.db
|
|
77
|
+
path: ./data.db
|
|
39
78
|
|
|
40
79
|
basic_authentication_methods:
|
|
41
80
|
password:
|
|
@@ -44,20 +83,30 @@ basic_authentication_methods:
|
|
|
44
83
|
enabled: true
|
|
45
84
|
```
|
|
46
85
|
|
|
47
|
-
|
|
86
|
+
Start TinyAuth:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
docker run --rm \
|
|
90
|
+
-p 8080:8080 \
|
|
91
|
+
-v ./config.yaml:/opt/config.yaml \
|
|
92
|
+
ghcr.io/tinyrack-net/tinyauth:latest
|
|
93
|
+
```
|
|
48
94
|
|
|
49
|
-
|
|
95
|
+
Verify the OIDC discovery endpoint:
|
|
50
96
|
|
|
51
97
|
```bash
|
|
52
|
-
|
|
53
|
-
pnpm dev
|
|
98
|
+
curl http://localhost:8080/.well-known/openid-configuration
|
|
54
99
|
```
|
|
55
100
|
|
|
56
101
|
## Examples
|
|
57
102
|
|
|
58
|
-
- `examples/clients/nextjs-ssr`
|
|
59
|
-
- `examples/clients/react-spa`
|
|
60
|
-
- `examples/servers/node-hono-sqlite`
|
|
103
|
+
- `examples/clients/nextjs-ssr` — Next.js OIDC client with server-side token handling
|
|
104
|
+
- `examples/clients/react-spa` — React SPA using authorization code flow with PKCE
|
|
105
|
+
- `examples/servers/node-hono-sqlite` — Hono + SQLite deployment using `@tinyrack/tinyauth-server` and the bundled frontend
|
|
106
|
+
|
|
107
|
+
## Documentation
|
|
108
|
+
|
|
109
|
+
For configuration guides, client integration examples, deployment notes, and the API reference, visit the **[TinyAuth documentation site](https://tinyauth.tinyrack.net/en/)**.
|
|
61
110
|
|
|
62
111
|
## License
|
|
63
112
|
|