@owox/idp-owox 0.8.0-next-20250929102821 → 0.8.0-next-20250929131945
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/config.d.ts +5 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +4 -0
- package/dist/owoxIdp.d.ts +2 -0
- package/dist/owoxIdp.d.ts.map +1 -1
- package/dist/owoxIdp.js +21 -15
- package/package.json +3 -3
package/dist/config.d.ts
CHANGED
|
@@ -122,22 +122,27 @@ declare const IdentityOwoxClientEnvSchema: z.ZodEffects<z.ZodObject<{
|
|
|
122
122
|
declare const IdpEnvSchema: z.ZodEffects<z.ZodObject<{
|
|
123
123
|
IDP_OWOX_CLIENT_ID: z.ZodString;
|
|
124
124
|
IDP_OWOX_PLATFORM_SIGN_IN_URL: z.ZodString;
|
|
125
|
+
IDP_OWOX_PLATFORM_SIGN_UP_URL: z.ZodString;
|
|
125
126
|
IDP_OWOX_CALLBACK_URL: z.ZodString;
|
|
126
127
|
}, "strip", z.ZodTypeAny, {
|
|
127
128
|
IDP_OWOX_CLIENT_ID: string;
|
|
128
129
|
IDP_OWOX_PLATFORM_SIGN_IN_URL: string;
|
|
130
|
+
IDP_OWOX_PLATFORM_SIGN_UP_URL: string;
|
|
129
131
|
IDP_OWOX_CALLBACK_URL: string;
|
|
130
132
|
}, {
|
|
131
133
|
IDP_OWOX_CLIENT_ID: string;
|
|
132
134
|
IDP_OWOX_PLATFORM_SIGN_IN_URL: string;
|
|
135
|
+
IDP_OWOX_PLATFORM_SIGN_UP_URL: string;
|
|
133
136
|
IDP_OWOX_CALLBACK_URL: string;
|
|
134
137
|
}>, {
|
|
135
138
|
clientId: string;
|
|
136
139
|
platformSignInUrl: string;
|
|
140
|
+
platformSignUpUrl: string;
|
|
137
141
|
callbackUrl: string;
|
|
138
142
|
}, {
|
|
139
143
|
IDP_OWOX_CLIENT_ID: string;
|
|
140
144
|
IDP_OWOX_PLATFORM_SIGN_IN_URL: string;
|
|
145
|
+
IDP_OWOX_PLATFORM_SIGN_UP_URL: string;
|
|
141
146
|
IDP_OWOX_CALLBACK_URL: string;
|
|
142
147
|
}>;
|
|
143
148
|
/** ---------- JWT config ---------- */
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,MAAM,IAAI,CAAC;AA6DpB,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqCtB,CAAC;AAEH,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB;;;;;;;;;;;;;;;;;;;;;EAGvE;AAED,gDAAgD;AAEhD,QAAA,MAAM,2BAA2B;;;;;;;;;;;;;;;mBAaoB,EAAE,CAAC,WAAW;;;;;EAE/D,CAAC;AAEL,sDAAsD;AAEtD,QAAA,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,MAAM,IAAI,CAAC;AA6DpB,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqCtB,CAAC;AAEH,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB;;;;;;;;;;;;;;;;;;;;;EAGvE;AAED,gDAAgD;AAEhD,QAAA,MAAM,2BAA2B;;;;;;;;;;;;;;;mBAaoB,EAAE,CAAC,WAAW;;;;;EAE/D,CAAC;AAEL,sDAAsD;AAEtD,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;EAgBb,CAAC;AAEN,uCAAuC;AAEvC,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;EAYb,CAAC;AAEN,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AACnD,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC3E,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC,OAAO,CAAC,CAAC;AAExE,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AACnF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AACrD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAErD,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,SAAS,CAAC;IACrB,wBAAwB,EAAE,wBAAwB,CAAC;IACnD,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,aAAa,CAgB5F"}
|
package/dist/config.js
CHANGED
|
@@ -116,11 +116,15 @@ const IdpEnvSchema = zod_1.z
|
|
|
116
116
|
IDP_OWOX_PLATFORM_SIGN_IN_URL: zod_1.z
|
|
117
117
|
.string()
|
|
118
118
|
.url({ message: 'IDP_OWOX_PLATFORM_SIGN_IN_URL must be a valid URL' }),
|
|
119
|
+
IDP_OWOX_PLATFORM_SIGN_UP_URL: zod_1.z
|
|
120
|
+
.string()
|
|
121
|
+
.url({ message: 'IDP_OWOX_PLATFORM_SIGN_UP_URL must be a valid URL' }),
|
|
119
122
|
IDP_OWOX_CALLBACK_URL: zod_1.z.string().min(1, 'IDP_OWOX_CALLBACK_URL is required'),
|
|
120
123
|
})
|
|
121
124
|
.transform(e => ({
|
|
122
125
|
clientId: e.IDP_OWOX_CLIENT_ID,
|
|
123
126
|
platformSignInUrl: e.IDP_OWOX_PLATFORM_SIGN_IN_URL,
|
|
127
|
+
platformSignUpUrl: e.IDP_OWOX_PLATFORM_SIGN_UP_URL,
|
|
124
128
|
callbackUrl: e.IDP_OWOX_CALLBACK_URL,
|
|
125
129
|
}));
|
|
126
130
|
/** ---------- JWT config ---------- */
|
package/dist/owoxIdp.d.ts
CHANGED
|
@@ -13,11 +13,13 @@ export declare class OwoxIdp implements IdpProvider {
|
|
|
13
13
|
revokeToken(token: string): Promise<void>;
|
|
14
14
|
shutdown(): Promise<void>;
|
|
15
15
|
signInMiddleware(req: e.Request, res: e.Response, _next: NextFunction): Promise<void | e.Response>;
|
|
16
|
+
signUpMiddleware(req: e.Request, res: e.Response, _next: NextFunction): Promise<void | e.Response>;
|
|
16
17
|
signOutMiddleware(req: e.Request, res: e.Response, _next: NextFunction): Promise<void | e.Response>;
|
|
17
18
|
userApiMiddleware(req: e.Request, res: e.Response): Promise<e.Response<Payload>>;
|
|
18
19
|
projectsApiMiddleware(req: e.Request, res: e.Response): Promise<e.Response<Projects>>;
|
|
19
20
|
accessTokenMiddleware(req: e.Request, res: e.Response, _next: NextFunction): Promise<void | e.Response>;
|
|
20
21
|
registerRoutes(app: e.Express): void;
|
|
22
|
+
private redirectToAuthUrl;
|
|
21
23
|
private changeAuthCode;
|
|
22
24
|
private setTokenToCookie;
|
|
23
25
|
private normalizeToken;
|
package/dist/owoxIdp.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"owoxIdp.d.ts","sourceRoot":"","sources":["../src/owoxIdp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAiB,MAAM,oBAAoB,CAAC;AAC/F,OAAO,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAkBzC,qBAAa,OAAQ,YAAW,WAAW;IAI7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;IAC3C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;gBAEvB,MAAM,EAAE,aAAa;IAKlD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAW7D,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAU5C,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAiBvD,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAInB,gBAAgB,CACpB,GAAG,EAAE,CAAC,CAAC,OAAO,EACd,GAAG,EAAE,CAAC,CAAC,QAAQ,EACf,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"owoxIdp.d.ts","sourceRoot":"","sources":["../src/owoxIdp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAiB,MAAM,oBAAoB,CAAC;AAC/F,OAAO,CAAC,EAAE,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAkBzC,qBAAa,OAAQ,YAAW,WAAW;IAI7B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;IAC3C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;gBAEvB,MAAM,EAAE,aAAa;IAKlD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAW7D,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAU5C,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAiBvD,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAInB,gBAAgB,CACpB,GAAG,EAAE,CAAC,CAAC,OAAO,EACd,GAAG,EAAE,CAAC,CAAC,QAAQ,EACf,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC;IAIvB,gBAAgB,CACpB,GAAG,EAAE,CAAC,CAAC,OAAO,EACd,GAAG,EAAE,CAAC,CAAC,QAAQ,EACf,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC;IAIvB,iBAAiB,CACrB,GAAG,EAAE,CAAC,CAAC,OAAO,EACd,GAAG,EAAE,CAAC,CAAC,QAAQ,EACf,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC;IASvB,iBAAiB,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAchF,qBAAqB,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAWrF,qBAAqB,CACzB,GAAG,EAAE,CAAC,CAAC,OAAO,EACd,GAAG,EAAE,CAAC,CAAC,QAAQ,EACf,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC;IA0B7B,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,GAAG,IAAI;YAyBtB,iBAAiB;YAyBjB,cAAc;IAgB5B,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,WAAW;CAOpB"}
|
package/dist/owoxIdp.js
CHANGED
|
@@ -63,21 +63,10 @@ class OwoxIdp {
|
|
|
63
63
|
return this.store.shutdown();
|
|
64
64
|
}
|
|
65
65
|
async signInMiddleware(req, res, _next) {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
await this.store.save(state, codeVerifier, expiresAt);
|
|
71
|
-
const signInUrl = new URL(this.config.idpConfig.platformSignInUrl);
|
|
72
|
-
const params = signInUrl.searchParams;
|
|
73
|
-
params.set('state', state);
|
|
74
|
-
params.set('codeChallenge', codeChallenge);
|
|
75
|
-
params.set('clientId', clientId);
|
|
76
|
-
const projectId = req.query?.projectId?.toString();
|
|
77
|
-
if (projectId) {
|
|
78
|
-
params.set('projectId', projectId);
|
|
79
|
-
}
|
|
80
|
-
res.redirect(signInUrl.toString());
|
|
66
|
+
return this.redirectToAuthUrl(req, res, this.config.idpConfig.platformSignInUrl);
|
|
67
|
+
}
|
|
68
|
+
async signUpMiddleware(req, res, _next) {
|
|
69
|
+
return this.redirectToAuthUrl(req, res, this.config.idpConfig.platformSignUpUrl);
|
|
81
70
|
}
|
|
82
71
|
async signOutMiddleware(req, res, _next) {
|
|
83
72
|
const refreshToken = req.cookies[COOKIE_NAME];
|
|
@@ -152,6 +141,23 @@ class OwoxIdp {
|
|
|
152
141
|
}
|
|
153
142
|
});
|
|
154
143
|
}
|
|
144
|
+
async redirectToAuthUrl(req, res, authUrl) {
|
|
145
|
+
const { codeVerifier, codeChallenge } = await (0, pkce_1.generatePkce)();
|
|
146
|
+
const state = (0, pkce_1.generateState)();
|
|
147
|
+
const clientId = this.config.idpConfig.clientId;
|
|
148
|
+
const expiresAt = new Date(Date.now() + (0, ms_1.default)('1m'));
|
|
149
|
+
await this.store.save(state, codeVerifier, expiresAt);
|
|
150
|
+
const redirectUrl = new URL(authUrl);
|
|
151
|
+
const params = redirectUrl.searchParams;
|
|
152
|
+
params.set('state', state);
|
|
153
|
+
params.set('codeChallenge', codeChallenge);
|
|
154
|
+
params.set('clientId', clientId);
|
|
155
|
+
const projectId = req.query?.projectId?.toString();
|
|
156
|
+
if (projectId) {
|
|
157
|
+
params.set('projectId', projectId);
|
|
158
|
+
}
|
|
159
|
+
res.redirect(redirectUrl.toString());
|
|
160
|
+
}
|
|
155
161
|
async changeAuthCode(code, state) {
|
|
156
162
|
const codeVerifier = await this.store.get(state);
|
|
157
163
|
if (!codeVerifier) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@owox/idp-owox",
|
|
3
|
-
"version": "0.8.0-next-
|
|
3
|
+
"version": "0.8.0-next-20250929131945",
|
|
4
4
|
"description": "Identity Provider implementation from OWOX",
|
|
5
5
|
"author": "OWOX",
|
|
6
6
|
"license": "ELv2",
|
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
"prepublishOnly": "npm run lint && npm run typecheck"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@owox/idp-protocol": "0.8.0-next-
|
|
25
|
-
"@owox/internal-helpers": "0.8.0-next-
|
|
24
|
+
"@owox/idp-protocol": "0.8.0-next-20250929131945",
|
|
25
|
+
"@owox/internal-helpers": "0.8.0-next-20250929131945",
|
|
26
26
|
"pkce-challenge": "^5.0.0",
|
|
27
27
|
"cookie-parser": "^1.4.7",
|
|
28
28
|
"env-paths": "^3.0.0",
|