payload-zitadel-plugin 0.3.9 → 0.4.1
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 +57 -25
- package/dist/components/server/LoginButton/index.d.ts +1 -1
- package/dist/components/server/LoginButton/index.d.ts.map +1 -1
- package/dist/components/server/LoginButton/index.js +4 -2
- package/dist/components/server/LoginButton/index.js.map +1 -1
- package/dist/constants.d.ts +34 -10
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +31 -10
- package/dist/constants.js.map +1 -1
- package/dist/handlers/authorize.d.ts +2 -2
- package/dist/handlers/authorize.d.ts.map +1 -1
- package/dist/handlers/authorize.js +18 -26
- package/dist/handlers/authorize.js.map +1 -1
- package/dist/handlers/callback.d.ts +2 -3
- package/dist/handlers/callback.d.ts.map +1 -1
- package/dist/handlers/callback.js +128 -39
- package/dist/handlers/callback.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +36 -51
- package/dist/index.js.map +1 -1
- package/dist/strategy.d.ts +2 -2
- package/dist/strategy.d.ts.map +1 -1
- package/dist/strategy.js +20 -42
- package/dist/strategy.js.map +1 -1
- package/dist/types.d.ts +62 -48
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +5 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/redirects.d.ts +5 -0
- package/dist/utils/redirects.d.ts.map +1 -0
- package/dist/utils/redirects.js +16 -0
- package/dist/utils/redirects.js.map +1 -0
- package/dist/utils/state.d.ts +5 -0
- package/dist/utils/state.d.ts.map +1 -0
- package/dist/utils/state.js +7 -0
- package/dist/utils/state.js.map +1 -0
- package/dist/utils/urls.d.ts +5 -0
- package/dist/utils/urls.d.ts.map +1 -0
- package/dist/utils/urls.js +5 -0
- package/dist/utils/urls.js.map +1 -0
- package/package.json +7 -7
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,QAAQ,EAAC,MAAM,YAAY,CAAA;AAChD,OAAO,EAAC,eAAe,EAAE,eAAe,EAAC,MAAM,gBAAgB,CAAA;AAC/D,OAAO,EAAC,cAAc,EAAE,WAAW,EAAE,YAAY,EAAC,MAAM,WAAW,CAAA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../src/utils/index.ts"],"sourcesContent":["export {createState, getState} from './state.js'\nexport {defaultRedirect, requestRedirect} from './redirects.js'\nexport {getAuthBaseURL, getAuthSlug, getServerURL} from './urls.js'"],"names":["createState","getState","defaultRedirect","requestRedirect","getAuthBaseURL","getAuthSlug","getServerURL"],"mappings":"AAAA,SAAQA,WAAW,EAAEC,QAAQ,QAAO,aAAY;AAChD,SAAQC,eAAe,EAAEC,eAAe,QAAO,iBAAgB;AAC/D,SAAQC,cAAc,EAAEC,WAAW,EAAEC,YAAY,QAAO,YAAW"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"redirects.d.ts","sourceRoot":"","sources":["../../src/utils/redirects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAA;AAGtC,OAAO,EAAC,qBAAqB,EAAC,MAAM,aAAa,CAAA;AAIjD,eAAO,MAAM,eAAe,EAAE,cAC0D,CAAA;AAExF,eAAO,MAAM,eAAe,EAAE,qBASrB,CAAA"}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { NextResponse } from 'next/server.js';
|
2
|
+
import { AUTHORIZE_QUERY, ENDPOINT_PATHS, ROUTES } from '../constants.js';
|
3
|
+
import { createState, getState } from './state.js';
|
4
|
+
import { getAuthBaseURL } from './urls.js';
|
5
|
+
export const defaultRedirect = (req)=>NextResponse.redirect(req.payload.config.serverURL + (getState(req).redirect ?? ''));
|
6
|
+
export const requestRedirect = ({ req, issuerURL, clientId, invokedBy, codeChallenge })=>NextResponse.redirect(`${issuerURL}${ENDPOINT_PATHS[invokedBy]}?${new URLSearchParams({
|
7
|
+
client_id: clientId,
|
8
|
+
[`${invokedBy == 'authorize' ? '' : 'post_logout_'}redirect_uri`]: getAuthBaseURL(req.payload.config) + ROUTES.callback,
|
9
|
+
state: createState(req, invokedBy),
|
10
|
+
...invokedBy == 'authorize' ? {
|
11
|
+
code_challenge: codeChallenge,
|
12
|
+
...AUTHORIZE_QUERY
|
13
|
+
} : {}
|
14
|
+
})}`);
|
15
|
+
|
16
|
+
//# sourceMappingURL=redirects.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../src/utils/redirects.ts"],"sourcesContent":["import {PayloadHandler} from 'payload'\nimport {NextResponse} from 'next/server.js'\nimport {AUTHORIZE_QUERY, ENDPOINT_PATHS, ROUTES} from '../constants.js'\nimport {ZitadelRequestHandler} from '../types.js'\nimport {createState, getState} from './state.js'\nimport {getAuthBaseURL} from './urls.js'\n\nexport const defaultRedirect: PayloadHandler = (req) =>\n NextResponse.redirect(req.payload.config.serverURL + (getState(req).redirect ?? ''))\n\nexport const requestRedirect: ZitadelRequestHandler = ({req, issuerURL, clientId, invokedBy, codeChallenge}) =>\n NextResponse.redirect(`${issuerURL}${ENDPOINT_PATHS[invokedBy]}?${new URLSearchParams({\n client_id: clientId,\n [`${invokedBy == 'authorize' ? '' : 'post_logout_'}redirect_uri`]: getAuthBaseURL(req.payload.config) + ROUTES.callback,\n state: createState(req, invokedBy),\n ...invokedBy == 'authorize' ? {\n code_challenge: codeChallenge,\n ...AUTHORIZE_QUERY\n } : {}\n })}`)"],"names":["NextResponse","AUTHORIZE_QUERY","ENDPOINT_PATHS","ROUTES","createState","getState","getAuthBaseURL","defaultRedirect","req","redirect","payload","config","serverURL","requestRedirect","issuerURL","clientId","invokedBy","codeChallenge","URLSearchParams","client_id","callback","state","code_challenge"],"mappings":"AACA,SAAQA,YAAY,QAAO,iBAAgB;AAC3C,SAAQC,eAAe,EAAEC,cAAc,EAAEC,MAAM,QAAO,kBAAiB;AAEvE,SAAQC,WAAW,EAAEC,QAAQ,QAAO,aAAY;AAChD,SAAQC,cAAc,QAAO,YAAW;AAExC,OAAO,MAAMC,kBAAkC,CAACC,MAC5CR,aAAaS,QAAQ,CAACD,IAAIE,OAAO,CAACC,MAAM,CAACC,SAAS,GAAIP,CAAAA,SAASG,KAAKC,QAAQ,IAAI,EAAC,GAAG;AAExF,OAAO,MAAMI,kBAAyC,CAAC,EAACL,GAAG,EAAEM,SAAS,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,aAAa,EAAC,GACvGjB,aAAaS,QAAQ,CAAC,GAAGK,YAAYZ,cAAc,CAACc,UAAU,CAAC,CAAC,EAAE,IAAIE,gBAAgB;QAClFC,WAAWJ;QACX,CAAC,GAAGC,aAAa,cAAc,KAAK,eAAe,YAAY,CAAC,CAAC,EAAEV,eAAeE,IAAIE,OAAO,CAACC,MAAM,IAAIR,OAAOiB,QAAQ;QACvHC,OAAOjB,YAAYI,KAAKQ;QACxB,GAAGA,aAAa,cAAc;YAC1BM,gBAAgBL;YAChB,GAAGhB,eAAe;QACtB,IAAI,CAAC,CAAC;IACV,IAAI,EAAC"}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
import { PayloadRequest } from 'payload';
|
2
|
+
import { ZitadelCallbackState } from '../types.js';
|
3
|
+
export declare const getState: (req: PayloadRequest) => ZitadelCallbackState;
|
4
|
+
export declare const createState: (req: PayloadRequest, invokedBy: ZitadelCallbackState["invokedBy"]) => string;
|
5
|
+
//# sourceMappingURL=state.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/utils/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,SAAS,CAAA;AACtC,OAAO,EAAuB,oBAAoB,EAAC,MAAM,aAAa,CAAA;AAEtE,eAAO,MAAM,QAAQ,QAAS,cAAc,KAC0D,oBAAoB,CAAA;AAE1H,eAAO,MAAM,WAAW,QAAS,cAAc,aAAa,oBAAoB,CAAC,WAAW,CAAC,WAI5C,CAAA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../src/utils/state.ts"],"sourcesContent":["import {PayloadRequest} from 'payload'\nimport {ZitadelCallbackQuery, ZitadelCallbackState} from '../types.js'\n\nexport const getState = (req: PayloadRequest) =>\n Object.fromEntries(new URLSearchParams(atob((req.query as ZitadelCallbackQuery).state ?? ''))) as ZitadelCallbackState\n\nexport const createState = (req: PayloadRequest, invokedBy: ZitadelCallbackState['invokedBy']) =>\n btoa(new URLSearchParams({\n ...req.query,\n invokedBy\n } satisfies ZitadelCallbackState).toString())"],"names":["getState","req","Object","fromEntries","URLSearchParams","atob","query","state","createState","invokedBy","btoa","toString"],"mappings":"AAGA,OAAO,MAAMA,WAAW,CAACC,MACrBC,OAAOC,WAAW,CAAC,IAAIC,gBAAgBC,KAAK,AAACJ,IAAIK,KAAK,CAA0BC,KAAK,IAAI,MAA6B;AAE1H,OAAO,MAAMC,cAAc,CAACP,KAAqBQ,YAC7CC,KAAK,IAAIN,gBAAgB;QACrB,GAAGH,IAAIK,KAAK;QACZG;IACJ,GAAkCE,QAAQ,IAAG"}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
import { Config, SanitizedConfig } from 'payload';
|
2
|
+
export declare const getAuthSlug: (config: Config | SanitizedConfig) => string;
|
3
|
+
export declare const getServerURL: (config: Config | SanitizedConfig) => string;
|
4
|
+
export declare const getAuthBaseURL: (config: Config | SanitizedConfig) => string;
|
5
|
+
//# sourceMappingURL=urls.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"urls.d.ts","sourceRoot":"","sources":["../../src/utils/urls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAE,eAAe,EAAC,MAAM,SAAS,CAAA;AAE/C,eAAO,MAAM,WAAW,WAAY,MAAM,GAAG,eAAe,WAC3B,CAAA;AAEjC,eAAO,MAAM,YAAY,WAAY,MAAM,GAAG,eAAe,WACnB,CAAA;AAE1C,eAAO,MAAM,cAAc,WAAY,MAAM,GAAG,eAAe,WACP,CAAA"}
|
@@ -0,0 +1,5 @@
|
|
1
|
+
export const getAuthSlug = (config)=>config.admin?.user ?? 'users';
|
2
|
+
export const getServerURL = (config)=>config.serverURL ?? 'http://localhost';
|
3
|
+
export const getAuthBaseURL = (config)=>`${getServerURL(config)}/api/${getAuthSlug(config)}`;
|
4
|
+
|
5
|
+
//# sourceMappingURL=urls.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../src/utils/urls.ts"],"sourcesContent":["import {Config, SanitizedConfig} from 'payload'\n\nexport const getAuthSlug = (config: Config | SanitizedConfig) =>\n config.admin?.user ?? 'users'\n\nexport const getServerURL = (config: Config | SanitizedConfig) =>\n config.serverURL ?? 'http://localhost'\n\nexport const getAuthBaseURL = (config: Config | SanitizedConfig) =>\n `${getServerURL(config)}/api/${getAuthSlug(config)}`\n"],"names":["getAuthSlug","config","admin","user","getServerURL","serverURL","getAuthBaseURL"],"mappings":"AAEA,OAAO,MAAMA,cAAc,CAACC,SACxBA,OAAOC,KAAK,EAAEC,QAAQ,QAAO;AAEjC,OAAO,MAAMC,eAAe,CAACH,SACzBA,OAAOI,SAAS,IAAI,mBAAkB;AAE1C,OAAO,MAAMC,iBAAiB,CAACL,SAC3B,GAAGG,aAAaH,QAAQ,KAAK,EAAED,YAAYC,SAAS,CAAA"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "payload-zitadel-plugin",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.4.1",
|
4
4
|
"description": "plugin for Payload CMS, which enables authentication via Zitadel IdP",
|
5
5
|
"type": "module",
|
6
6
|
"license": "MIT",
|
@@ -36,18 +36,18 @@
|
|
36
36
|
"dist"
|
37
37
|
],
|
38
38
|
"dependencies": {
|
39
|
-
"@payloadcms/next": "^3.
|
40
|
-
"@payloadcms/translations": "^3.
|
41
|
-
"@payloadcms/ui": "^3.
|
39
|
+
"@payloadcms/next": "^3.12.0",
|
40
|
+
"@payloadcms/translations": "^3.12.0",
|
41
|
+
"@payloadcms/ui": "^3.12.0",
|
42
42
|
"jose": "^5.9.6",
|
43
|
-
"next": "^15.1.
|
44
|
-
"payload": "^3.
|
43
|
+
"next": "^15.1.3",
|
44
|
+
"payload": "^3.12.0",
|
45
45
|
"react": "^19.0.0",
|
46
46
|
"react-dom": "^19.0.0"
|
47
47
|
},
|
48
48
|
"devDependencies": {
|
49
49
|
"@swc/cli": "^0.5.2",
|
50
|
-
"@swc/core": "^1.10.
|
50
|
+
"@swc/core": "^1.10.4",
|
51
51
|
"@types/node": "^22.10.2",
|
52
52
|
"@types/react": "^19.0.2",
|
53
53
|
"@types/react-dom": "^19.0.2",
|