@atlasauth/nextjs 0.2.0 → 0.4.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/CHANGELOG.md +16 -0
- package/README.md +12 -0
- package/dist/access-token.d.ts +16 -0
- package/dist/access-token.js +29 -0
- package/dist/access-token.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts +27 -0
- package/dist/server.js +36 -0
- package/dist/server.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @atlasauth/nextjs changelog
|
|
2
2
|
|
|
3
|
+
## 0.4.0 — 2026-10-23
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
|
|
7
|
+
- `withAccessToken(options, handler)`: wrap an App Router route handler so it runs only for a request with an Atlas-issued OAuth access token for your API (audience, scopes, DPoP); anything else gets 401/403 with the `WWW-Authenticate` challenge. Re-exports `createAccessTokenVerifier`, `protectedResourceMetadata`, `protectedResourceMetadataPath`.
|
|
8
|
+
|
|
9
|
+
## 0.3.0
|
|
10
|
+
### Added
|
|
11
|
+
- **`getAtlasInitialState(options?)`** in `@atlasauth/nextjs/server` → `Promise<AtlasInitialState>`: the instance's
|
|
12
|
+
public sign-in data for `<AtlasProvider initialState>`, so the sign-in panel is styled and has its social buttons in
|
|
13
|
+
the server HTML. Cached in Next's data cache for `revalidate` seconds (default 60; `false` disables caching). Reads
|
|
14
|
+
`ATLAS_PUBLISHABLE_KEY` / `NEXT_PUBLIC_ATLAS_PUBLISHABLE_KEY` and `ATLAS_FRONTEND_API` /
|
|
15
|
+
`NEXT_PUBLIC_ATLAS_FRONTEND_API`, or `{ publishableKey, frontendApi }`. Never throws; gives up after `timeoutMs`
|
|
16
|
+
(default 1500).
|
|
17
|
+
- New type `AtlasInitialState`.
|
|
18
|
+
|
|
3
19
|
## 0.2.0
|
|
4
20
|
|
|
5
21
|
### Added
|
package/README.md
CHANGED
|
@@ -92,6 +92,18 @@ const user = await currentUser(); // from the verified session claims, no networ
|
|
|
92
92
|
|
|
93
93
|
These read `ATLAS_JWKS_URL` and `ATLAS_ISSUER` (or their `NEXT_PUBLIC_` forms) from the environment.
|
|
94
94
|
|
|
95
|
+
## Sign-in panel ready on first paint
|
|
96
|
+
|
|
97
|
+
```tsx
|
|
98
|
+
// app/layout.tsx (a Server Component)
|
|
99
|
+
import { getAtlasInitialState } from '@atlasauth/nextjs/server';
|
|
100
|
+
|
|
101
|
+
const initialState = await getAtlasInitialState();
|
|
102
|
+
// …pass it to the client component that renders <AtlasProvider initialState={initialState}>
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
`getAtlasInitialState()` fetches the instance's public sign-in data (`/v1/appearance` and `/v1/client/environment`) on the server, cached for 60 seconds (`revalidate`). With it, `<SignIn />` renders styled and with its social buttons in the server HTML. It reads `ATLAS_PUBLISHABLE_KEY` and `ATLAS_FRONTEND_API` (or their `NEXT_PUBLIC_` forms) and never throws: anything it can't fetch within `timeoutMs` (1500 ms) is left for the browser.
|
|
106
|
+
|
|
95
107
|
## Routing rules
|
|
96
108
|
|
|
97
109
|
- Routes are protected unless they match `publicRoutes`. `protectedRoutes` wins over `publicRoutes`.
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type AccessTokenClaims, type AccessTokenVerifierOptions } from '@atlasauth/backend';
|
|
2
|
+
export { createAccessTokenVerifier, protectedResourceMetadata, protectedResourceMetadataPath, type AccessTokenClaims, type AccessTokenResult, type AccessTokenVerifierOptions, } from '@atlasauth/backend';
|
|
3
|
+
/** The verified token handed to a {@link withAccessToken} route handler. */
|
|
4
|
+
export interface VerifiedAccessToken {
|
|
5
|
+
claims: AccessTokenClaims;
|
|
6
|
+
subject: string;
|
|
7
|
+
clientId: string | null;
|
|
8
|
+
scopes: string[];
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Wrap a Next.js route handler (App Router, any runtime) so it only runs for a
|
|
12
|
+
* request carrying an Atlas-issued OAuth access token for YOUR API (audience,
|
|
13
|
+
* scopes, DPoP when bound). Anything else gets 401/403 with the RFC 6750 /
|
|
14
|
+
* RFC 9728 `WWW-Authenticate` challenge — what an MCP client needs to sign in.
|
|
15
|
+
*/
|
|
16
|
+
export declare function withAccessToken<Ctx = unknown>(options: AccessTokenVerifierOptions, handler: (request: Request, token: VerifiedAccessToken, ctx: Ctx) => Response | Promise<Response>): (request: Request, ctx: Ctx) => Promise<Response>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.protectedResourceMetadataPath = exports.protectedResourceMetadata = exports.createAccessTokenVerifier = void 0;
|
|
4
|
+
exports.withAccessToken = withAccessToken;
|
|
5
|
+
const backend_1 = require("@atlasauth/backend");
|
|
6
|
+
var backend_2 = require("@atlasauth/backend");
|
|
7
|
+
Object.defineProperty(exports, "createAccessTokenVerifier", { enumerable: true, get: function () { return backend_2.createAccessTokenVerifier; } });
|
|
8
|
+
Object.defineProperty(exports, "protectedResourceMetadata", { enumerable: true, get: function () { return backend_2.protectedResourceMetadata; } });
|
|
9
|
+
Object.defineProperty(exports, "protectedResourceMetadataPath", { enumerable: true, get: function () { return backend_2.protectedResourceMetadataPath; } });
|
|
10
|
+
/**
|
|
11
|
+
* Wrap a Next.js route handler (App Router, any runtime) so it only runs for a
|
|
12
|
+
* request carrying an Atlas-issued OAuth access token for YOUR API (audience,
|
|
13
|
+
* scopes, DPoP when bound). Anything else gets 401/403 with the RFC 6750 /
|
|
14
|
+
* RFC 9728 `WWW-Authenticate` challenge — what an MCP client needs to sign in.
|
|
15
|
+
*/
|
|
16
|
+
function withAccessToken(options, handler) {
|
|
17
|
+
const verify = (0, backend_1.createAccessTokenVerifier)(options);
|
|
18
|
+
return async (request, ctx) => {
|
|
19
|
+
const result = await verify({ method: request.method, url: request.url, headers: request.headers });
|
|
20
|
+
if (!result.ok) {
|
|
21
|
+
return new Response(JSON.stringify(result.error ? { error: result.error, error_description: result.description } : { error: 'unauthorized' }), {
|
|
22
|
+
status: result.status,
|
|
23
|
+
headers: { 'content-type': 'application/json', 'www-authenticate': result.wwwAuthenticate },
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
return handler(request, { claims: result.claims, subject: result.subject, clientId: result.clientId, scopes: result.scopes }, ctx);
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=access-token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"access-token.js","sourceRoot":"","sources":["../src/access-token.ts"],"names":[],"mappings":";;;AA6BA,0CAwBC;AArDD,gDAI4B;AAE5B,8CAO4B;AAN1B,oHAAA,yBAAyB,OAAA;AACzB,oHAAA,yBAAyB,OAAA;AACzB,wHAAA,6BAA6B,OAAA;AAc/B;;;;;GAKG;AACH,SAAgB,eAAe,CAC7B,OAAmC,EACnC,OAAiG;IAEjG,MAAM,MAAM,GAAG,IAAA,mCAAyB,EAAC,OAAO,CAAC,CAAC;IAClD,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE;QAC5B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACpG,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO,IAAI,QAAQ,CACjB,IAAI,CAAC,SAAS,CACZ,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,iBAAiB,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAC1G,EACD;gBACE,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,CAAC,eAAe,EAAE;aAC5F,CACF,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CACZ,OAAO,EACP,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EACpG,GAAG,CACJ,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./matcher"), exports);
|
|
18
18
|
__exportStar(require("./middleware"), exports);
|
|
19
19
|
__exportStar(require("./proxy"), exports);
|
|
20
|
+
__exportStar(require("./access-token"), exports);
|
|
20
21
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,+CAA6B;AAC7B,0CAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,+CAA6B;AAC7B,0CAAwB;AACxB,iDAA+B"}
|
package/dist/server.d.ts
CHANGED
|
@@ -76,5 +76,32 @@ export declare function auth(): Promise<ServerAuth>;
|
|
|
76
76
|
* the verified session claims (no round-trip), or `null` when signed out.
|
|
77
77
|
*/
|
|
78
78
|
export declare function currentUser(): Promise<CurrentUser | null>;
|
|
79
|
+
/**
|
|
80
|
+
* The instance's public sign-in data for `<AtlasProvider initialState>`: the
|
|
81
|
+
* dashboard design and sign-in settings (`/v1/appearance`) and the sign-in
|
|
82
|
+
* methods and social buttons (`/v1/client/environment`), fetched on the server so
|
|
83
|
+
* the sign-in panel renders fully styled, with its social buttons, in the first
|
|
84
|
+
* HTML. Call it in a Server Component (e.g. the root layout) and pass the result
|
|
85
|
+
* to the client component that renders `<AtlasProvider>`.
|
|
86
|
+
*
|
|
87
|
+
* Both responses are public and the same for every visitor, so they are cached
|
|
88
|
+
* with Next's data cache (`revalidate`, default 60 s). Never throws: a part that
|
|
89
|
+
* can't be fetched within `timeoutMs` is left out and the browser fetches it.
|
|
90
|
+
*
|
|
91
|
+
* Reads `ATLAS_PUBLISHABLE_KEY` / `NEXT_PUBLIC_ATLAS_PUBLISHABLE_KEY` and
|
|
92
|
+
* `ATLAS_FRONTEND_API` / `NEXT_PUBLIC_ATLAS_FRONTEND_API` unless given.
|
|
93
|
+
*/
|
|
94
|
+
export interface AtlasInitialState {
|
|
95
|
+
appearance?: unknown;
|
|
96
|
+
environment?: unknown;
|
|
97
|
+
}
|
|
98
|
+
export declare function getAtlasInitialState(options?: {
|
|
99
|
+
publishableKey?: string;
|
|
100
|
+
frontendApi?: string;
|
|
101
|
+
/** Seconds Next may cache the responses. Default 60; `false` disables caching. */
|
|
102
|
+
revalidate?: number | false;
|
|
103
|
+
timeoutMs?: number;
|
|
104
|
+
fetchImpl?: typeof fetch;
|
|
105
|
+
}, env?: Env): Promise<AtlasInitialState>;
|
|
79
106
|
export type { AtlasClient, AtlasClientConfig } from '@atlasauth/backend';
|
|
80
107
|
export type { AuthState, CurrentUser, EdgeRequest } from './middleware';
|
package/dist/server.js
CHANGED
|
@@ -39,6 +39,7 @@ exports.atlasClient = atlasClient;
|
|
|
39
39
|
exports.buildEdgeRequest = buildEdgeRequest;
|
|
40
40
|
exports.auth = auth;
|
|
41
41
|
exports.currentUser = currentUser;
|
|
42
|
+
exports.getAtlasInitialState = getAtlasInitialState;
|
|
42
43
|
/**
|
|
43
44
|
* `@atlasauth/nextjs/server` — the pre-bound, zero-argument App-Router helpers.
|
|
44
45
|
*
|
|
@@ -213,4 +214,39 @@ async function currentUser() {
|
|
|
213
214
|
const helper = getCurrentUserHelper();
|
|
214
215
|
return helper(await edgeRequestFromContext());
|
|
215
216
|
}
|
|
217
|
+
async function getAtlasInitialState(options = {}, env = readEnv()) {
|
|
218
|
+
const publishableKey = options.publishableKey ?? pick(env, 'ATLAS_PUBLISHABLE_KEY', 'NEXT_PUBLIC_ATLAS_PUBLISHABLE_KEY');
|
|
219
|
+
const frontendApi = options.frontendApi ?? pick(env, 'ATLAS_FRONTEND_API', 'NEXT_PUBLIC_ATLAS_FRONTEND_API');
|
|
220
|
+
const doFetch = options.fetchImpl ?? (typeof fetch === 'function' ? fetch : undefined);
|
|
221
|
+
if (!publishableKey || !frontendApi || !doFetch)
|
|
222
|
+
return {};
|
|
223
|
+
const base = frontendApi.replace(/\/+$/, '');
|
|
224
|
+
const revalidate = options.revalidate ?? 60;
|
|
225
|
+
const timeoutMs = options.timeoutMs ?? 1500;
|
|
226
|
+
const get = async (path) => {
|
|
227
|
+
const controller = new AbortController();
|
|
228
|
+
const timer = setTimeout(() => controller.abort(), timeoutMs);
|
|
229
|
+
try {
|
|
230
|
+
const res = await doFetch(`${base}${path}`, {
|
|
231
|
+
headers: { accept: 'application/json', 'x-publishable-key': publishableKey },
|
|
232
|
+
signal: controller.signal,
|
|
233
|
+
...(revalidate === false ? { cache: 'no-store' } : { next: { revalidate } }),
|
|
234
|
+
});
|
|
235
|
+
return res.ok ? (await res.json()) : undefined;
|
|
236
|
+
}
|
|
237
|
+
catch {
|
|
238
|
+
return undefined;
|
|
239
|
+
}
|
|
240
|
+
finally {
|
|
241
|
+
clearTimeout(timer);
|
|
242
|
+
}
|
|
243
|
+
};
|
|
244
|
+
const [appearance, environment] = await Promise.all([get('/v1/appearance'), get('/v1/client/environment')]);
|
|
245
|
+
const state = {};
|
|
246
|
+
if (appearance && typeof appearance === 'object')
|
|
247
|
+
state.appearance = appearance;
|
|
248
|
+
if (environment && typeof environment === 'object')
|
|
249
|
+
state.environment = environment;
|
|
250
|
+
return state;
|
|
251
|
+
}
|
|
216
252
|
//# sourceMappingURL=server.js.map
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDA,sCA6BC;AAOD,oDAOC;AAOD,kCAUC;AAsBD,4CAsBC;AA2DD,oBAGC;AAMD,kCAGC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlasauth/nextjs",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"main": "./dist/index.js",
|
|
5
5
|
"types": "./dist/index.d.ts",
|
|
6
6
|
"exports": {
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"./package.json": "./package.json"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@atlasauth/backend": "0.
|
|
18
|
+
"@atlasauth/backend": "0.15.0"
|
|
19
19
|
},
|
|
20
20
|
"peerDependencies": {
|
|
21
21
|
"next": ">=13.4"
|