@workos-inc/authkit-nextjs 0.6.2 → 0.8.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/cjs/interfaces.d.ts +2 -0
- package/dist/cjs/session.d.ts +1 -1
- package/dist/cjs/session.js +6 -5
- package/dist/cjs/session.js.map +1 -1
- package/dist/cjs/workos.d.ts +2 -1
- package/dist/cjs/workos.js +8 -4
- package/dist/cjs/workos.js.map +1 -1
- package/package.json +2 -2
- package/src/interfaces.ts +2 -0
- package/src/session.ts +6 -5
- package/src/workos.ts +6 -1
package/dist/cjs/interfaces.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export interface UserInfo {
|
|
|
17
17
|
sessionId: string;
|
|
18
18
|
organizationId?: string;
|
|
19
19
|
role?: string;
|
|
20
|
+
permissions?: string[];
|
|
20
21
|
impersonator?: Impersonator;
|
|
21
22
|
accessToken: string;
|
|
22
23
|
}
|
|
@@ -32,6 +33,7 @@ export interface AccessToken {
|
|
|
32
33
|
sid: string;
|
|
33
34
|
org_id?: string;
|
|
34
35
|
role?: string;
|
|
36
|
+
permissions?: string[];
|
|
35
37
|
}
|
|
36
38
|
export interface GetAuthURLOptions {
|
|
37
39
|
screenHint?: 'sign-up' | 'sign-in';
|
package/dist/cjs/session.d.ts
CHANGED
|
@@ -9,4 +9,4 @@ declare function getUser(options: {
|
|
|
9
9
|
ensureSignedIn: true;
|
|
10
10
|
}): Promise<UserInfo>;
|
|
11
11
|
declare function terminateSession(): Promise<void>;
|
|
12
|
-
export { encryptSession,
|
|
12
|
+
export { encryptSession, getUser, terminateSession, updateSession };
|
package/dist/cjs/session.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.updateSession = exports.terminateSession = exports.getUser = exports.encryptSession = void 0;
|
|
4
4
|
const navigation_1 = require("next/navigation");
|
|
5
5
|
const headers_1 = require("next/headers");
|
|
6
6
|
const server_1 = require("next/server");
|
|
@@ -71,7 +71,7 @@ async function updateSession(request, debug, middlewareAuth) {
|
|
|
71
71
|
if (debug)
|
|
72
72
|
console.log('Session invalid. Attempting refresh', session.refreshToken);
|
|
73
73
|
// If the session is invalid (i.e. the access token has expired) attempt to re-authenticate with the refresh token
|
|
74
|
-
const { accessToken, refreshToken } = await workos_js_1.workos.userManagement.authenticateWithRefreshToken({
|
|
74
|
+
const { accessToken, refreshToken, user, impersonator } = await workos_js_1.workos.userManagement.authenticateWithRefreshToken({
|
|
75
75
|
clientId: env_variables_js_1.WORKOS_CLIENT_ID,
|
|
76
76
|
refreshToken: session.refreshToken,
|
|
77
77
|
});
|
|
@@ -81,8 +81,8 @@ async function updateSession(request, debug, middlewareAuth) {
|
|
|
81
81
|
const encryptedSession = await encryptSession({
|
|
82
82
|
accessToken,
|
|
83
83
|
refreshToken,
|
|
84
|
-
user
|
|
85
|
-
impersonator
|
|
84
|
+
user,
|
|
85
|
+
impersonator,
|
|
86
86
|
});
|
|
87
87
|
newRequestHeaders.set(sessionHeaderName, encryptedSession);
|
|
88
88
|
const response = server_1.NextResponse.next({
|
|
@@ -128,12 +128,13 @@ async function getUser({ ensureSignedIn = false } = {}) {
|
|
|
128
128
|
}
|
|
129
129
|
return { user: null };
|
|
130
130
|
}
|
|
131
|
-
const { sid: sessionId, org_id: organizationId, role } = (0, jose_1.decodeJwt)(session.accessToken);
|
|
131
|
+
const { sid: sessionId, org_id: organizationId, role, permissions } = (0, jose_1.decodeJwt)(session.accessToken);
|
|
132
132
|
return {
|
|
133
133
|
sessionId,
|
|
134
134
|
user: session.user,
|
|
135
135
|
organizationId,
|
|
136
136
|
role,
|
|
137
|
+
permissions,
|
|
137
138
|
impersonator: session.impersonator,
|
|
138
139
|
accessToken: session.accessToken,
|
|
139
140
|
};
|
package/dist/cjs/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":";;;AAAA,gDAA2C;AAC3C,0CAAgD;AAChD,wCAAwD;AACxD,+BAAgE;AAChE,+CAAoD;AACpD,2CAAwD;AACxD,2CAAqC;AACrC,yDAAmG;AACnG,yEAAiE;AAGjE,mDAAuD;AAEvD,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AAC7C,MAAM,oBAAoB,GAAG,qBAAqB,CAAC;AAEnD,MAAM,IAAI,GAAG,IAAA,yBAAkB,EAAC,IAAI,GAAG,CAAC,kBAAM,CAAC,cAAc,CAAC,UAAU,CAAC,mCAAgB,CAAC,CAAC,CAAC,CAAC;AAE7F,KAAK,UAAU,cAAc,CAAC,OAAgB;IAC5C,OAAO,IAAA,uBAAQ,EAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,yCAAsB,EAAE,CAAC,CAAC;AACjE,CAAC;
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/workos.d.ts
CHANGED
package/dist/cjs/workos.js
CHANGED
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.workos = void 0;
|
|
4
|
-
const
|
|
5
|
-
const node_1 = tslib_1.__importDefault(require("@workos-inc/node"));
|
|
3
|
+
exports.workos = exports.VERSION = void 0;
|
|
4
|
+
const node_1 = require("@workos-inc/node");
|
|
6
5
|
const env_variables_js_1 = require("./env-variables.js");
|
|
6
|
+
exports.VERSION = '0.8.0';
|
|
7
7
|
const options = {
|
|
8
8
|
apiHostname: env_variables_js_1.WORKOS_API_HOSTNAME,
|
|
9
9
|
https: env_variables_js_1.WORKOS_API_HTTPS ? env_variables_js_1.WORKOS_API_HTTPS === 'true' : true,
|
|
10
10
|
port: env_variables_js_1.WORKOS_API_PORT ? parseInt(env_variables_js_1.WORKOS_API_PORT) : undefined,
|
|
11
|
+
appInfo: {
|
|
12
|
+
name: 'authkit/nextjs',
|
|
13
|
+
version: exports.VERSION,
|
|
14
|
+
},
|
|
11
15
|
};
|
|
12
16
|
// Initialize the WorkOS client
|
|
13
|
-
const workos = new node_1.
|
|
17
|
+
const workos = new node_1.WorkOS(env_variables_js_1.WORKOS_API_KEY, options);
|
|
14
18
|
exports.workos = workos;
|
|
15
19
|
//# sourceMappingURL=workos.js.map
|
package/dist/cjs/workos.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workos.js","sourceRoot":"","sources":["../../src/workos.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"workos.js","sourceRoot":"","sources":["../../src/workos.ts"],"names":[],"mappings":";;;AAAA,2CAA0C;AAC1C,yDAA4G;AAE/F,QAAA,OAAO,GAAG,OAAO,CAAC;AAE/B,MAAM,OAAO,GAAG;IACd,WAAW,EAAE,sCAAmB;IAChC,KAAK,EAAE,mCAAgB,CAAC,CAAC,CAAC,mCAAgB,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI;IAC5D,IAAI,EAAE,kCAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,kCAAe,CAAC,CAAC,CAAC,CAAC,SAAS;IAC7D,OAAO,EAAE;QACP,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,eAAO;KACjB;CACF,CAAC;AAEF,+BAA+B;AAC/B,MAAM,MAAM,GAAG,IAAI,aAAM,CAAC,iCAAc,EAAE,OAAO,CAAC,CAAC;AAE1C,wBAAM"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@workos-inc/authkit-nextjs",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "Authentication and session helpers for using WorkOS & AuthKit with Next.js",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"type": "commonjs",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"test": "echo \"Error: no test specified\" && exit 1"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@workos-inc/node": "^
|
|
24
|
+
"@workos-inc/node": "^7.12.0",
|
|
25
25
|
"iron-session": "^8.0.1",
|
|
26
26
|
"jose": "^5.2.3",
|
|
27
27
|
"path-to-regexp": "^6.2.2"
|
package/src/interfaces.ts
CHANGED
|
@@ -20,6 +20,7 @@ export interface UserInfo {
|
|
|
20
20
|
sessionId: string;
|
|
21
21
|
organizationId?: string;
|
|
22
22
|
role?: string;
|
|
23
|
+
permissions?: string[];
|
|
23
24
|
impersonator?: Impersonator;
|
|
24
25
|
accessToken: string;
|
|
25
26
|
}
|
|
@@ -36,6 +37,7 @@ export interface AccessToken {
|
|
|
36
37
|
sid: string;
|
|
37
38
|
org_id?: string;
|
|
38
39
|
role?: string;
|
|
40
|
+
permissions?: string[];
|
|
39
41
|
}
|
|
40
42
|
|
|
41
43
|
export interface GetAuthURLOptions {
|
package/src/session.ts
CHANGED
|
@@ -85,7 +85,7 @@ async function updateSession(request: NextRequest, debug: boolean, middlewareAut
|
|
|
85
85
|
if (debug) console.log('Session invalid. Attempting refresh', session.refreshToken);
|
|
86
86
|
|
|
87
87
|
// If the session is invalid (i.e. the access token has expired) attempt to re-authenticate with the refresh token
|
|
88
|
-
const { accessToken, refreshToken } = await workos.userManagement.authenticateWithRefreshToken({
|
|
88
|
+
const { accessToken, refreshToken, user, impersonator } = await workos.userManagement.authenticateWithRefreshToken({
|
|
89
89
|
clientId: WORKOS_CLIENT_ID,
|
|
90
90
|
refreshToken: session.refreshToken,
|
|
91
91
|
});
|
|
@@ -96,8 +96,8 @@ async function updateSession(request: NextRequest, debug: boolean, middlewareAut
|
|
|
96
96
|
const encryptedSession = await encryptSession({
|
|
97
97
|
accessToken,
|
|
98
98
|
refreshToken,
|
|
99
|
-
user
|
|
100
|
-
impersonator
|
|
99
|
+
user,
|
|
100
|
+
impersonator,
|
|
101
101
|
});
|
|
102
102
|
|
|
103
103
|
newRequestHeaders.set(sessionHeaderName, encryptedSession);
|
|
@@ -152,13 +152,14 @@ async function getUser({ ensureSignedIn = false } = {}) {
|
|
|
152
152
|
return { user: null };
|
|
153
153
|
}
|
|
154
154
|
|
|
155
|
-
const { sid: sessionId, org_id: organizationId, role } = decodeJwt<AccessToken>(session.accessToken);
|
|
155
|
+
const { sid: sessionId, org_id: organizationId, role, permissions } = decodeJwt<AccessToken>(session.accessToken);
|
|
156
156
|
|
|
157
157
|
return {
|
|
158
158
|
sessionId,
|
|
159
159
|
user: session.user,
|
|
160
160
|
organizationId,
|
|
161
161
|
role,
|
|
162
|
+
permissions,
|
|
162
163
|
impersonator: session.impersonator,
|
|
163
164
|
accessToken: session.accessToken,
|
|
164
165
|
};
|
|
@@ -205,4 +206,4 @@ async function getSessionFromHeader(caller: string): Promise<Session | undefined
|
|
|
205
206
|
return unsealData<Session>(authHeader, { password: WORKOS_COOKIE_PASSWORD });
|
|
206
207
|
}
|
|
207
208
|
|
|
208
|
-
export { encryptSession,
|
|
209
|
+
export { encryptSession, getUser, terminateSession, updateSession };
|
package/src/workos.ts
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
|
-
import WorkOS from '@workos-inc/node';
|
|
1
|
+
import { WorkOS } from '@workos-inc/node';
|
|
2
2
|
import { WORKOS_API_HOSTNAME, WORKOS_API_HTTPS, WORKOS_API_KEY, WORKOS_API_PORT } from './env-variables.js';
|
|
3
3
|
|
|
4
|
+
export const VERSION = '0.8.0';
|
|
4
5
|
|
|
5
6
|
const options = {
|
|
6
7
|
apiHostname: WORKOS_API_HOSTNAME,
|
|
7
8
|
https: WORKOS_API_HTTPS ? WORKOS_API_HTTPS === 'true' : true,
|
|
8
9
|
port: WORKOS_API_PORT ? parseInt(WORKOS_API_PORT) : undefined,
|
|
10
|
+
appInfo: {
|
|
11
|
+
name: 'authkit/nextjs',
|
|
12
|
+
version: VERSION,
|
|
13
|
+
},
|
|
9
14
|
};
|
|
10
15
|
|
|
11
16
|
// Initialize the WorkOS client
|