@blakearoberts/visage 0.0.1-rc.19 → 0.0.1-rc.21
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/README.md +38 -20
- package/dist/certs.d.ts +2 -6
- package/dist/certs.d.ts.map +1 -1
- package/dist/compose.d.ts +2 -1
- package/dist/compose.d.ts.map +1 -1
- package/dist/config.d.ts +27 -6
- package/dist/config.d.ts.map +1 -1
- package/dist/hosts.d.ts +2 -1
- package/dist/hosts.d.ts.map +1 -1
- package/dist/index.d.ts +2 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +389 -286
- package/dist/network.d.ts +3 -0
- package/dist/network.d.ts.map +1 -0
- package/dist/plugin.d.ts +5 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/render/index.d.ts +4 -2
- package/dist/render/index.d.ts.map +1 -1
- package/dist/render/nginx.d.ts.map +1 -1
- package/dist/server.d.ts +5 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/types.d.ts +36 -17
- package/dist/types.d.ts.map +1 -1
- package/docker-compose.images.yml +7 -0
- package/package.json +7 -5
package/README.md
CHANGED
|
@@ -27,7 +27,7 @@ Start Vite normally:
|
|
|
27
27
|
vite
|
|
28
28
|
```
|
|
29
29
|
|
|
30
|
-
By default, you can reach the app at
|
|
30
|
+
By default, you can reach the app at `https://localhost:9001`. You will be redirected to Dex to sign in. The default username and password is `user@example.com` and `pass`.
|
|
31
31
|
|
|
32
32
|
## Why Visage
|
|
33
33
|
|
|
@@ -72,17 +72,21 @@ visage({
|
|
|
72
72
|
});
|
|
73
73
|
```
|
|
74
74
|
|
|
75
|
-
Authenticated upstream locations
|
|
76
|
-
`
|
|
77
|
-
|
|
78
|
-
|
|
75
|
+
Authenticated upstream locations do not forward bearer tokens by default. Set
|
|
76
|
+
`auth.forward` to `true` to forward the default bearer token for the upstream
|
|
77
|
+
kind: external upstreams receive the OAuth access token, while local service
|
|
78
|
+
upstreams receive the OIDC ID token.
|
|
79
|
+
|
|
80
|
+
Hosted backend APIs that validate bearer auth should generally receive the
|
|
81
|
+
access token, provided the token is issued for that API's issuer, audience, and
|
|
82
|
+
scopes. Use `'access'` or `'id'` when you need to force a specific token kind.
|
|
79
83
|
|
|
80
84
|
```ts
|
|
81
85
|
visage({
|
|
82
86
|
upstreams: {
|
|
83
87
|
api: {
|
|
84
88
|
locations: {
|
|
85
|
-
'/api/': { auth: { forward:
|
|
89
|
+
'/api/': { auth: { forward: true } },
|
|
86
90
|
},
|
|
87
91
|
},
|
|
88
92
|
},
|
|
@@ -93,19 +97,29 @@ OAuth2 Proxy identity values can also be mapped explicitly through headers such
|
|
|
93
97
|
as `$auth_user`, `$auth_email`, `$auth_groups`, and
|
|
94
98
|
`$auth_preferred_username`.
|
|
95
99
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
100
|
+
Authenticated locations also get Fetch Metadata CSRF checks by default. The
|
|
101
|
+
built-in Vite root location uses `csrf: 'app'`, which allows same-origin
|
|
102
|
+
requests and top-level `GET` document navigations. Other authenticated upstream
|
|
103
|
+
locations use `csrf: 'api'`, which blocks same-site and cross-site browser
|
|
104
|
+
requests when modern Fetch Metadata headers are present. Set `csrf: 'app'` for
|
|
105
|
+
an upstream that serves browser pages, or `csrf: false` when the upstream
|
|
106
|
+
intentionally handles cross-site browser requests itself.
|
|
99
107
|
|
|
100
|
-
|
|
108
|
+
### External IdPs
|
|
101
109
|
|
|
102
|
-
|
|
110
|
+
External OIDC providers use issuer discovery by default:
|
|
103
111
|
|
|
104
|
-
```
|
|
105
|
-
|
|
112
|
+
```ts
|
|
113
|
+
visage({
|
|
114
|
+
idp: { issuer: 'https://idp.example.test/oauth2/default' },
|
|
115
|
+
});
|
|
106
116
|
```
|
|
107
117
|
|
|
108
|
-
|
|
118
|
+
Configure `authorization`, `token`, or `jwks` only when the provider endpoints
|
|
119
|
+
must be rendered explicitly instead of discovered from the issuer. Configure
|
|
120
|
+
`end_session_endpoint` when the provider supports OIDC end-session redirects.
|
|
121
|
+
|
|
122
|
+
See [`VisageOptions`](src/types.ts) for the full option surface.
|
|
109
123
|
|
|
110
124
|
## System Block Diagram
|
|
111
125
|
|
|
@@ -139,11 +153,11 @@ Visage downloads [`mkcert`](https://github.com/FiloSottile/mkcert) from `dl.fili
|
|
|
139
153
|
|
|
140
154
|
Visage pulls these as needed based on configuration:
|
|
141
155
|
|
|
142
|
-
| Service | Image
|
|
143
|
-
| ------------------------------------------------------------ |
|
|
144
|
-
| [NGINX](https://nginx.org/) | [`nginx
|
|
145
|
-
| [OAuth2 Proxy](https://oauth2-proxy.github.io/oauth2-proxy/) | [`quay.io/oauth2-proxy/oauth2-proxy
|
|
146
|
-
| [Dex](https://dexidp.io/) | [`ghcr.io/dexidp/dex
|
|
156
|
+
| Service | Image | Pin |
|
|
157
|
+
| ------------------------------------------------------------ | ------------------------------------------------------------------------------------------- | ------------------------------------- |
|
|
158
|
+
| [NGINX](https://nginx.org/) | [`nginx`](https://hub.docker.com/_/nginx) | [manifest](docker-compose.images.yml) |
|
|
159
|
+
| [OAuth2 Proxy](https://oauth2-proxy.github.io/oauth2-proxy/) | [`quay.io/oauth2-proxy/oauth2-proxy`](https://quay.io/repository/oauth2-proxy/oauth2-proxy) | [manifest](docker-compose.images.yml) |
|
|
160
|
+
| [Dex](https://dexidp.io/) | [`ghcr.io/dexidp/dex`](https://github.com/dexidp/dex/pkgs/container/dex) | [manifest](docker-compose.images.yml) |
|
|
147
161
|
|
|
148
162
|
## Security Notes
|
|
149
163
|
|
|
@@ -151,6 +165,11 @@ Visage is local-development tooling. It starts local auth infrastructure, termin
|
|
|
151
165
|
|
|
152
166
|
Do not treat the managed Dex and OAuth2 Proxy defaults as production auth infrastructure.
|
|
153
167
|
|
|
168
|
+
Visage's CSRF policy is an edge request-isolation guard for cookie-backed
|
|
169
|
+
locations. It is not a replacement for application-owned CSRF tokens where an
|
|
170
|
+
application accepts form posts or other browser-submitted mutations. CSP,
|
|
171
|
+
`frame-ancestors`, and other clickjacking controls remain application policy.
|
|
172
|
+
|
|
154
173
|
## Troubleshooting
|
|
155
174
|
|
|
156
175
|
- If startup fails immediately, confirm Docker is running and `docker compose` works.
|
|
@@ -160,7 +179,6 @@ Do not treat the managed Dex and OAuth2 Proxy defaults as production auth infras
|
|
|
160
179
|
|
|
161
180
|
## TO-DO
|
|
162
181
|
|
|
163
|
-
- [ ] Support OIDC auto-discovery with external IdP configuration.
|
|
164
182
|
- [ ] Support configuring [Dex connectors](https://dexidp.io/docs/connectors/).
|
|
165
183
|
- [ ] Support configuring Dex on a distinct subdomain, such as `auth.localhost`.
|
|
166
184
|
- [ ] Support optional [HTTP mode without local TLS](docs/tls-http-mode.md).
|
package/dist/certs.d.ts
CHANGED
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
type
|
|
2
|
-
|
|
3
|
-
hostname: string;
|
|
4
|
-
};
|
|
5
|
-
export declare function ensureCerts({ certs, hostname }: Options): Promise<void>;
|
|
6
|
-
export {};
|
|
1
|
+
import type { VisageConfig } from './config';
|
|
2
|
+
export declare function ensureCerts(config: VisageConfig): Promise<void>;
|
|
7
3
|
//# sourceMappingURL=certs.d.ts.map
|
package/dist/certs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"certs.d.ts","sourceRoot":"","sources":["../src/certs.ts"],"names":[],"mappings":"AAcA,
|
|
1
|
+
{"version":3,"file":"certs.d.ts","sourceRoot":"","sources":["../src/certs.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAI7C,wBAAsB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAqCrE"}
|
package/dist/compose.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
import type { VisageConfig } from './config';
|
|
1
2
|
type StopCompose = () => void;
|
|
2
|
-
export declare function startCompose(
|
|
3
|
+
export declare function startCompose(config: VisageConfig): StopCompose;
|
|
3
4
|
export {};
|
|
4
5
|
//# sourceMappingURL=compose.d.ts.map
|
package/dist/compose.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../src/compose.ts"],"names":[],"mappings":"AAIA,KAAK,WAAW,GAAG,MAAM,IAAI,CAAC;AAI9B,wBAAgB,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../src/compose.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,KAAK,WAAW,GAAG,MAAM,IAAI,CAAC;AAI9B,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,WAAW,CAmC9D"}
|
package/dist/config.d.ts
CHANGED
|
@@ -27,21 +27,33 @@ type ResolvedVisageOptions = {
|
|
|
27
27
|
readonly services: Readonly<Record<string, VisageService>>;
|
|
28
28
|
readonly upstreams: Record<string, VisageUpstream>;
|
|
29
29
|
};
|
|
30
|
-
type
|
|
31
|
-
readonly upstream: string;
|
|
30
|
+
type OIDCEndpointConfig = {
|
|
32
31
|
readonly issuer: string;
|
|
32
|
+
readonly authorization?: string;
|
|
33
|
+
readonly token?: string;
|
|
34
|
+
readonly jwks?: string;
|
|
35
|
+
readonly end_session_endpoint?: string;
|
|
36
|
+
};
|
|
37
|
+
type ManualOIDCEndpointConfig = OIDCEndpointConfig & {
|
|
33
38
|
readonly authorization: string;
|
|
34
39
|
readonly token: string;
|
|
35
40
|
readonly jwks: string;
|
|
36
41
|
};
|
|
37
|
-
type ResolvedDexIdpConfig =
|
|
42
|
+
type ResolvedDexIdpConfig = {
|
|
38
43
|
readonly dex: {
|
|
39
44
|
readonly expiry?: VisageDexExpiry;
|
|
40
45
|
readonly users: readonly VisageDexUser[];
|
|
41
46
|
};
|
|
47
|
+
readonly oidc: ManualOIDCEndpointConfig;
|
|
48
|
+
readonly upstream: {
|
|
49
|
+
readonly dex: ResolvedUpstream;
|
|
50
|
+
};
|
|
42
51
|
};
|
|
43
|
-
type ResolvedExternalIdpConfig =
|
|
44
|
-
readonly
|
|
52
|
+
type ResolvedExternalIdpConfig = {
|
|
53
|
+
readonly oidc: OIDCEndpointConfig;
|
|
54
|
+
readonly upstream: {
|
|
55
|
+
readonly idp: ResolvedUpstream;
|
|
56
|
+
};
|
|
45
57
|
};
|
|
46
58
|
type ResolvedIdpConfig = ResolvedDexIdpConfig | ResolvedExternalIdpConfig;
|
|
47
59
|
type ResolvedService = Omit<VisageService, 'upstream'> & {
|
|
@@ -54,7 +66,12 @@ type ResolvedUpstream = {
|
|
|
54
66
|
readonly locations: Readonly<Record<string, VisageProxyPolicy>>;
|
|
55
67
|
};
|
|
56
68
|
type ResolvedProxyPolicy = {
|
|
57
|
-
readonly auth:
|
|
69
|
+
readonly auth: {
|
|
70
|
+
readonly enabled: boolean;
|
|
71
|
+
readonly forward: false | 'id' | 'access';
|
|
72
|
+
readonly redirect: boolean;
|
|
73
|
+
};
|
|
74
|
+
readonly csrf: false | 'app' | 'api';
|
|
58
75
|
readonly headers: Readonly<Record<string, string>>;
|
|
59
76
|
readonly directives: Readonly<Record<string, readonly string[]>>;
|
|
60
77
|
};
|
|
@@ -78,6 +95,10 @@ export type VisageConfig = {
|
|
|
78
95
|
readonly clientSecret: Volume;
|
|
79
96
|
readonly cookieSecret: Volume;
|
|
80
97
|
};
|
|
98
|
+
readonly network: {
|
|
99
|
+
readonly name: string;
|
|
100
|
+
readonly trustedProxyIps: readonly string[];
|
|
101
|
+
};
|
|
81
102
|
readonly services: Readonly<Record<string, ResolvedService>>;
|
|
82
103
|
readonly upstreams: Readonly<Record<string, ResolvedConfigUpstream>>;
|
|
83
104
|
};
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/hosts.d.ts
CHANGED
package/dist/hosts.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hosts.d.ts","sourceRoot":"","sources":["../src/hosts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hosts.d.ts","sourceRoot":"","sources":["../src/hosts.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAI7C,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,EAAE,YAAY,GAAG,IAAI,CAyD5D"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import type { Plugin } from 'vite';
|
|
2
|
-
import type { VisageOptions, VisageServer } from './types';
|
|
3
1
|
export type { VisageCookiePolicy, VisageDexExpiry, VisageDexOptions, VisageDexUser, VisageExternalIdpOptions, VisageOAuth2Client, VisageOptions, VisageProxyPolicy, VisageServer, VisageService, VisageUpstream, } from './types';
|
|
4
|
-
export
|
|
5
|
-
export
|
|
2
|
+
export { default, visage } from './plugin';
|
|
3
|
+
export { createVisageServer } from './server';
|
|
6
4
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,wBAAwB,EACxB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,cAAc,GACf,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC"}
|