@artatol-acp/auth-nextjs 0.3.8 → 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/README.md +254 -474
- package/dist/client/index.d.ts +17 -5
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +64 -32
- package/dist/client/index.js.map +1 -1
- package/dist/handlers/index.d.ts +88 -0
- package/dist/handlers/index.d.ts.map +1 -0
- package/dist/handlers/index.js +321 -0
- package/dist/handlers/index.js.map +1 -0
- package/dist/server/index.d.ts +27 -4
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +95 -32
- package/dist/server/index.js.map +1 -1
- package/package.json +6 -2
package/dist/server/index.d.ts
CHANGED
|
@@ -1,10 +1,30 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { type User, type LoginResult } from '@artatol-acp/auth-js';
|
|
2
2
|
export type ACPAuthServerOptions = {
|
|
3
3
|
baseUrl: string;
|
|
4
|
-
apiKey
|
|
4
|
+
apiKey?: string;
|
|
5
5
|
jwtPublicKey: string;
|
|
6
|
+
/**
|
|
7
|
+
* Cookie configuration
|
|
8
|
+
*/
|
|
9
|
+
cookies?: {
|
|
10
|
+
/**
|
|
11
|
+
* Cookie path
|
|
12
|
+
* @default "/"
|
|
13
|
+
*/
|
|
14
|
+
path?: string;
|
|
15
|
+
/**
|
|
16
|
+
* Whether to use secure cookies (HTTPS only)
|
|
17
|
+
* @default process.env.NODE_ENV === "production"
|
|
18
|
+
*/
|
|
19
|
+
secure?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* SameSite cookie attribute
|
|
22
|
+
* @default "lax"
|
|
23
|
+
*/
|
|
24
|
+
sameSite?: 'strict' | 'lax' | 'none';
|
|
25
|
+
};
|
|
6
26
|
};
|
|
7
|
-
export declare function initACPAuth(options: ACPAuthServerOptions):
|
|
27
|
+
export declare function initACPAuth(options: ACPAuthServerOptions): void;
|
|
8
28
|
export type JWTUser = {
|
|
9
29
|
id: string;
|
|
10
30
|
email: string;
|
|
@@ -13,6 +33,9 @@ export declare function verifyAccessToken(token: string): Promise<JWTUser>;
|
|
|
13
33
|
export declare function getUser(): Promise<JWTUser | null>;
|
|
14
34
|
export declare function refreshAccessToken(): Promise<string | null>;
|
|
15
35
|
export declare function login(email: string, password: string): Promise<LoginResult>;
|
|
36
|
+
export declare function verify2FALogin(tempToken: string, code: string): Promise<{
|
|
37
|
+
user: User;
|
|
38
|
+
}>;
|
|
16
39
|
export declare function logout(): Promise<void>;
|
|
17
40
|
export declare function register(email: string, password: string): Promise<User>;
|
|
18
41
|
export declare function verifyEmail(token: string): Promise<{
|
|
@@ -31,6 +54,6 @@ export declare function resetPassword(token: string, newPassword: string): Promi
|
|
|
31
54
|
export declare function deleteAccount(password: string, confirmation: string): Promise<{
|
|
32
55
|
message: string;
|
|
33
56
|
}>;
|
|
34
|
-
export { ACPAuthClient } from '@artatol-acp/auth-js';
|
|
57
|
+
export { ACPAuthClient, ACPAuthError } from '@artatol-acp/auth-js';
|
|
35
58
|
export type * from '@artatol-acp/auth-js';
|
|
36
59
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,IAAI,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGlF,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE;QACR;;;WAGG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;QACd;;;WAGG;QACH,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB;;;WAGG;QACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;KACtC,CAAC;CACH,CAAC;AAKF,wBAAgB,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAE/D;AA+DD,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAevE;AAED,wBAAsB,OAAO,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAavD;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAqBjE;AAED,wBAAsB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CA2BjF;AAED,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC,CAyBzB;AAED,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAU5C;AAED,wBAAsB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG7E;AAED,wBAAsB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAG7E;AAED,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAGzF;AAED,wBAAsB,EAAE,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAe/C;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAGhF;AAED,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAGpG;AAED,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAgBxG;AAGD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACnE,mBAAmB,sBAAsB,CAAC"}
|
package/dist/server/index.js
CHANGED
|
@@ -1,31 +1,63 @@
|
|
|
1
1
|
import { cookies } from 'next/headers';
|
|
2
2
|
import { ACPAuthClient } from '@artatol-acp/auth-js';
|
|
3
3
|
import { jwtVerify, importSPKI } from 'jose';
|
|
4
|
-
let authClient = null;
|
|
5
4
|
let publicKey = null;
|
|
6
5
|
let config = null;
|
|
7
6
|
export function initACPAuth(options) {
|
|
8
7
|
config = options;
|
|
9
|
-
authClient = new ACPAuthClient({
|
|
10
|
-
baseUrl: options.baseUrl,
|
|
11
|
-
apiKey: options.apiKey,
|
|
12
|
-
});
|
|
13
|
-
return authClient;
|
|
14
8
|
}
|
|
15
|
-
|
|
9
|
+
function getConfig() {
|
|
16
10
|
if (!config) {
|
|
17
11
|
throw new Error('ACP Auth not initialized. Call initACPAuth() first.');
|
|
18
12
|
}
|
|
13
|
+
return config;
|
|
14
|
+
}
|
|
15
|
+
function getCookieOptions() {
|
|
16
|
+
const cfg = getConfig();
|
|
17
|
+
return {
|
|
18
|
+
path: cfg.cookies?.path ?? '/',
|
|
19
|
+
secure: cfg.cookies?.secure ?? process.env.NODE_ENV === 'production',
|
|
20
|
+
sameSite: cfg.cookies?.sameSite ?? 'lax',
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
async function getPublicKey() {
|
|
24
|
+
const cfg = getConfig();
|
|
19
25
|
if (!publicKey) {
|
|
20
|
-
publicKey = await importSPKI(
|
|
26
|
+
publicKey = await importSPKI(cfg.jwtPublicKey, 'EdDSA');
|
|
21
27
|
}
|
|
22
28
|
return publicKey;
|
|
23
29
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
30
|
+
/**
|
|
31
|
+
* Create a client that forwards the refresh_token cookie to the auth server
|
|
32
|
+
*/
|
|
33
|
+
async function createServerClient() {
|
|
34
|
+
const cfg = getConfig();
|
|
35
|
+
const cookieStore = await cookies();
|
|
36
|
+
const refreshToken = cookieStore.get('refresh_token')?.value;
|
|
37
|
+
return new ACPAuthClient({
|
|
38
|
+
baseUrl: cfg.baseUrl,
|
|
39
|
+
apiKey: cfg.apiKey ?? '',
|
|
40
|
+
autoRefresh: false,
|
|
41
|
+
// Custom fetch that forwards the refresh_token cookie
|
|
42
|
+
fetch: async (url, init) => {
|
|
43
|
+
const headers = new Headers(init?.headers);
|
|
44
|
+
if (refreshToken) {
|
|
45
|
+
headers.set('Cookie', `refresh_token=${refreshToken}`);
|
|
46
|
+
}
|
|
47
|
+
return fetch(url, { ...init, headers });
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Create a simple client without cookie forwarding (for public endpoints)
|
|
53
|
+
*/
|
|
54
|
+
function createSimpleClient() {
|
|
55
|
+
const cfg = getConfig();
|
|
56
|
+
return new ACPAuthClient({
|
|
57
|
+
baseUrl: cfg.baseUrl,
|
|
58
|
+
apiKey: cfg.apiKey ?? '',
|
|
59
|
+
autoRefresh: false,
|
|
60
|
+
});
|
|
29
61
|
}
|
|
30
62
|
export async function verifyAccessToken(token) {
|
|
31
63
|
const key = await getPublicKey();
|
|
@@ -38,7 +70,7 @@ export async function verifyAccessToken(token) {
|
|
|
38
70
|
email: payload.email,
|
|
39
71
|
};
|
|
40
72
|
}
|
|
41
|
-
catch
|
|
73
|
+
catch {
|
|
42
74
|
throw new Error('Invalid access token');
|
|
43
75
|
}
|
|
44
76
|
}
|
|
@@ -56,17 +88,18 @@ export async function getUser() {
|
|
|
56
88
|
}
|
|
57
89
|
}
|
|
58
90
|
export async function refreshAccessToken() {
|
|
59
|
-
const
|
|
91
|
+
const cookieOpts = getCookieOptions();
|
|
60
92
|
try {
|
|
93
|
+
const client = await createServerClient();
|
|
61
94
|
const { accessToken } = await client.refresh();
|
|
62
95
|
// Set new access token cookie
|
|
63
96
|
const cookieStore = await cookies();
|
|
64
97
|
cookieStore.set('access_token', accessToken, {
|
|
65
98
|
httpOnly: true,
|
|
66
|
-
secure:
|
|
67
|
-
sameSite:
|
|
99
|
+
secure: cookieOpts.secure,
|
|
100
|
+
sameSite: cookieOpts.sameSite,
|
|
68
101
|
maxAge: 60 * 5, // 5 minutes
|
|
69
|
-
path:
|
|
102
|
+
path: cookieOpts.path,
|
|
70
103
|
});
|
|
71
104
|
return accessToken;
|
|
72
105
|
}
|
|
@@ -75,24 +108,54 @@ export async function refreshAccessToken() {
|
|
|
75
108
|
}
|
|
76
109
|
}
|
|
77
110
|
export async function login(email, password) {
|
|
78
|
-
const client =
|
|
111
|
+
const client = createSimpleClient();
|
|
79
112
|
const result = await client.login({ email, password });
|
|
113
|
+
const cookieOpts = getCookieOptions();
|
|
80
114
|
if ('accessToken' in result) {
|
|
81
|
-
// Set access token
|
|
115
|
+
// Set both access token and refresh token cookies
|
|
82
116
|
const cookieStore = await cookies();
|
|
83
117
|
cookieStore.set('access_token', result.accessToken, {
|
|
84
118
|
httpOnly: true,
|
|
85
|
-
secure:
|
|
86
|
-
sameSite:
|
|
119
|
+
secure: cookieOpts.secure,
|
|
120
|
+
sameSite: cookieOpts.sameSite,
|
|
87
121
|
maxAge: 60 * 5, // 5 minutes
|
|
88
|
-
path:
|
|
122
|
+
path: cookieOpts.path,
|
|
123
|
+
});
|
|
124
|
+
cookieStore.set('refresh_token', result.refreshToken, {
|
|
125
|
+
httpOnly: true,
|
|
126
|
+
secure: cookieOpts.secure,
|
|
127
|
+
sameSite: cookieOpts.sameSite,
|
|
128
|
+
maxAge: 60 * 60 * 24 * 30, // 30 days
|
|
129
|
+
path: cookieOpts.path,
|
|
89
130
|
});
|
|
90
131
|
}
|
|
91
132
|
return result;
|
|
92
133
|
}
|
|
134
|
+
export async function verify2FALogin(tempToken, code) {
|
|
135
|
+
const client = createSimpleClient();
|
|
136
|
+
const result = await client.verify2FALogin({ tempToken, code });
|
|
137
|
+
const cookieOpts = getCookieOptions();
|
|
138
|
+
// Set both access token and refresh token cookies
|
|
139
|
+
const cookieStore = await cookies();
|
|
140
|
+
cookieStore.set('access_token', result.accessToken, {
|
|
141
|
+
httpOnly: true,
|
|
142
|
+
secure: cookieOpts.secure,
|
|
143
|
+
sameSite: cookieOpts.sameSite,
|
|
144
|
+
maxAge: 60 * 5, // 5 minutes
|
|
145
|
+
path: cookieOpts.path,
|
|
146
|
+
});
|
|
147
|
+
cookieStore.set('refresh_token', result.refreshToken, {
|
|
148
|
+
httpOnly: true,
|
|
149
|
+
secure: cookieOpts.secure,
|
|
150
|
+
sameSite: cookieOpts.sameSite,
|
|
151
|
+
maxAge: 60 * 60 * 24 * 30, // 30 days
|
|
152
|
+
path: cookieOpts.path,
|
|
153
|
+
});
|
|
154
|
+
return { user: result.user };
|
|
155
|
+
}
|
|
93
156
|
export async function logout() {
|
|
94
|
-
const client = getClient();
|
|
95
157
|
try {
|
|
158
|
+
const client = await createServerClient();
|
|
96
159
|
await client.logout();
|
|
97
160
|
}
|
|
98
161
|
finally {
|
|
@@ -103,15 +166,15 @@ export async function logout() {
|
|
|
103
166
|
}
|
|
104
167
|
}
|
|
105
168
|
export async function register(email, password) {
|
|
106
|
-
const client =
|
|
169
|
+
const client = createSimpleClient();
|
|
107
170
|
return await client.register({ email, password });
|
|
108
171
|
}
|
|
109
172
|
export async function verifyEmail(token) {
|
|
110
|
-
const client =
|
|
173
|
+
const client = createSimpleClient();
|
|
111
174
|
return await client.verifyEmail({ token });
|
|
112
175
|
}
|
|
113
176
|
export async function resendVerificationEmail(email) {
|
|
114
|
-
const client =
|
|
177
|
+
const client = createSimpleClient();
|
|
115
178
|
return await client.resendVerificationEmail({ email });
|
|
116
179
|
}
|
|
117
180
|
export async function me() {
|
|
@@ -120,7 +183,7 @@ export async function me() {
|
|
|
120
183
|
if (!accessToken) {
|
|
121
184
|
return null;
|
|
122
185
|
}
|
|
123
|
-
const client =
|
|
186
|
+
const client = createSimpleClient();
|
|
124
187
|
try {
|
|
125
188
|
return await client.me(accessToken);
|
|
126
189
|
}
|
|
@@ -129,11 +192,11 @@ export async function me() {
|
|
|
129
192
|
}
|
|
130
193
|
}
|
|
131
194
|
export async function forgotPassword(email) {
|
|
132
|
-
const client =
|
|
195
|
+
const client = createSimpleClient();
|
|
133
196
|
return await client.forgotPassword({ email });
|
|
134
197
|
}
|
|
135
198
|
export async function resetPassword(token, newPassword) {
|
|
136
|
-
const client =
|
|
199
|
+
const client = createSimpleClient();
|
|
137
200
|
return await client.resetPassword({ token, newPassword });
|
|
138
201
|
}
|
|
139
202
|
export async function deleteAccount(password, confirmation) {
|
|
@@ -142,7 +205,7 @@ export async function deleteAccount(password, confirmation) {
|
|
|
142
205
|
if (!accessToken) {
|
|
143
206
|
throw new Error('Not authenticated');
|
|
144
207
|
}
|
|
145
|
-
const client =
|
|
208
|
+
const client = createSimpleClient();
|
|
146
209
|
const result = await client.deleteAccount({ password, confirmation }, accessToken);
|
|
147
210
|
// Clear cookies after account deletion
|
|
148
211
|
cookieStore.delete('access_token');
|
|
@@ -150,5 +213,5 @@ export async function deleteAccount(password, confirmation) {
|
|
|
150
213
|
return result;
|
|
151
214
|
}
|
|
152
215
|
// Re-export client for direct use if needed
|
|
153
|
-
export { ACPAuthClient } from '@artatol-acp/auth-js';
|
|
216
|
+
export { ACPAuthClient, ACPAuthError } from '@artatol-acp/auth-js';
|
|
154
217
|
//# sourceMappingURL=index.js.map
|
package/dist/server/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,aAAa,EAA+B,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,SAAS,EAAE,UAAU,EAAgB,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@artatol-acp/auth-nextjs",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Next.js SDK for Artatol Cloud Platform Authentication with support for App Router, Server Actions, and Middleware",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -18,6 +18,10 @@
|
|
|
18
18
|
"import": "./dist/client/index.js",
|
|
19
19
|
"types": "./dist/client/index.d.ts"
|
|
20
20
|
},
|
|
21
|
+
"./handlers": {
|
|
22
|
+
"import": "./dist/handlers/index.js",
|
|
23
|
+
"types": "./dist/handlers/index.d.ts"
|
|
24
|
+
},
|
|
21
25
|
"./middleware": {
|
|
22
26
|
"import": "./dist/middleware.js",
|
|
23
27
|
"types": "./dist/middleware.d.ts"
|
|
@@ -41,7 +45,7 @@
|
|
|
41
45
|
"react": "^18.0.0 || ^19.0.0"
|
|
42
46
|
},
|
|
43
47
|
"dependencies": {
|
|
44
|
-
"@artatol-acp/auth-js": "^0.
|
|
48
|
+
"@artatol-acp/auth-js": "^0.4.0",
|
|
45
49
|
"jose": "^5.9.6"
|
|
46
50
|
},
|
|
47
51
|
"devDependencies": {
|