cortex-auth 1.3.3 → 1.3.5
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.
|
@@ -1,20 +1,24 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
type
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import type { User } from '../types';
|
|
2
|
+
import type { SanitizedConfig } from 'payload';
|
|
3
|
+
type AccountType = NonNullable<User['accounts']>[number];
|
|
4
|
+
declare function profileRoles(profile: {
|
|
5
|
+
sub: string;
|
|
6
|
+
[key: string]: unknown;
|
|
7
|
+
}, tokens: {
|
|
8
|
+
access_token?: string;
|
|
9
|
+
[key: string]: unknown;
|
|
10
|
+
}): {
|
|
11
|
+
sub: string;
|
|
12
|
+
id: string;
|
|
13
|
+
role: string;
|
|
10
14
|
};
|
|
15
|
+
declare function persistTokens(userId: string, account: AccountType, payloadConfig: SanitizedConfig): Promise<void>;
|
|
11
16
|
declare module "next-auth" {
|
|
12
17
|
interface Session {
|
|
13
18
|
accessToken?: string;
|
|
14
19
|
}
|
|
15
20
|
}
|
|
16
21
|
export declare const payloadAuthConfig: {
|
|
17
|
-
databaseWithBackend: (payload: Payload, authConfig?: NextAuthConfigFunction) => NextAuthConfig;
|
|
18
22
|
userCollectionDatabaseFields: {
|
|
19
23
|
name: string;
|
|
20
24
|
type: string;
|
|
@@ -40,6 +44,8 @@ export declare const payloadAuthConfig: {
|
|
|
40
44
|
required?: undefined;
|
|
41
45
|
})[];
|
|
42
46
|
};
|
|
47
|
+
persistTokens: typeof persistTokens;
|
|
48
|
+
profileRoles: typeof profileRoles;
|
|
43
49
|
};
|
|
44
50
|
export {};
|
|
45
51
|
//# sourceMappingURL=configuration.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../src/payload-jwt/configuration.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../src/payload-jwt/configuration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAM9C,KAAK,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;AAkCxD,iBAAS,YAAY,CAAC,OAAO,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,EAAE,MAAM,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE;SAA3F,MAAM;;;EAQ3C;AAED,iBAAe,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,iBAuBhG;AAuCD,OAAO,QAAQ,WAAW,CAAC;IACzB,UAAU,OAAO;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB;CACF;AAuBD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM7B,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { decodeJwt } from 'jose';
|
|
2
|
+
import { getPayload } from 'payload';
|
|
2
3
|
import KeycloakProvider from "next-auth/providers/keycloak";
|
|
3
4
|
function upsertAccount(existing = [], account) {
|
|
4
5
|
const provider = account.provider;
|
|
@@ -25,7 +26,17 @@ function upsertAccount(existing = [], account) {
|
|
|
25
26
|
}
|
|
26
27
|
return [...existing, nextRow];
|
|
27
28
|
}
|
|
28
|
-
|
|
29
|
+
function profileRoles(profile, tokens) {
|
|
30
|
+
let role = 'user'; // default role
|
|
31
|
+
if (tokens && tokens.access_token) {
|
|
32
|
+
const decodedJWT = decodeJwt(tokens.access_token);
|
|
33
|
+
const permissions = decodedJWT.resource_access?.[process.env.OAUTH_CLIENT_ID]?.roles;
|
|
34
|
+
role = permissions?.[0] || 'user';
|
|
35
|
+
}
|
|
36
|
+
return { id: profile.sub, role, ...profile };
|
|
37
|
+
}
|
|
38
|
+
async function persistTokens(userId, account, payloadConfig) {
|
|
39
|
+
const payload = await getPayload({ config: payloadConfig });
|
|
29
40
|
const fullUser = await payload.findByID({
|
|
30
41
|
collection: "users",
|
|
31
42
|
id: userId,
|
|
@@ -46,7 +57,7 @@ async function persistTokens(userId, account, payload) {
|
|
|
46
57
|
overrideAccess: true,
|
|
47
58
|
});
|
|
48
59
|
}
|
|
49
|
-
const databaseWithBackend = (
|
|
60
|
+
const databaseWithBackend = (payloadConfig, authConfig) => ({
|
|
50
61
|
secret: process.env.PAYLOAD_SECRET,
|
|
51
62
|
session: {
|
|
52
63
|
maxAge: authConfig?.session.maxAge ?? 60 * 30 * 8, // 8 hours
|
|
@@ -71,12 +82,12 @@ const databaseWithBackend = (payload, authConfig) => ({
|
|
|
71
82
|
events: {
|
|
72
83
|
// fires when an OAuth account is linked [NextAuth](https://next-auth.js.org/configuration/events)
|
|
73
84
|
async linkAccount({ user, account }) {
|
|
74
|
-
await persistTokens(user.id, account,
|
|
85
|
+
await persistTokens(user.id, account, payloadConfig);
|
|
75
86
|
},
|
|
76
87
|
// fires on every sign-in [NextAuth](https://next-auth.js.org/configuration/events)
|
|
77
88
|
async signIn({ user, account }) {
|
|
78
89
|
if (account)
|
|
79
|
-
await persistTokens(user.id, account,
|
|
90
|
+
await persistTokens(user.id, account, payloadConfig);
|
|
80
91
|
},
|
|
81
92
|
},
|
|
82
93
|
});
|
|
@@ -98,5 +109,9 @@ const userCollectionDatabaseFields = {
|
|
|
98
109
|
{ name: "session_state", type: "text", admin: { disabled: true } },
|
|
99
110
|
],
|
|
100
111
|
};
|
|
101
|
-
export const payloadAuthConfig = {
|
|
112
|
+
export const payloadAuthConfig = {
|
|
113
|
+
userCollectionDatabaseFields,
|
|
114
|
+
persistTokens,
|
|
115
|
+
profileRoles
|
|
116
|
+
};
|
|
102
117
|
//# sourceMappingURL=configuration.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../src/payload-jwt/configuration.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"configuration.js","sourceRoot":"","sources":["../../src/payload-jwt/configuration.ts"],"names":[],"mappings":"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"}
|