@owox/idp-owox 0.7.0-next-20250916105116 → 0.7.0-next-20250916111152

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,5 +1,6 @@
1
1
  import { TokenRequest, TokenResponse, RevocationRequest, RevocationResponse, IntrospectionRequest, IntrospectionResponse, JwksResponse } from './dto';
2
2
  import { IdentityOwoxClientConfig } from '../config';
3
+ import { Projects } from '@owox/idp-protocol';
3
4
  /**
4
5
  * Represents a client for interacting with the Identity OWOX API.
5
6
  * Provides methods for token management, validation, and retrieval of key sets.
@@ -19,6 +20,10 @@ export declare class IdentityOwoxClient {
19
20
  * GET /api/idp/introspection
20
21
  */
21
22
  introspectToken(req: IntrospectionRequest): Promise<IntrospectionResponse>;
23
+ /**
24
+ * GET /api/idp/projects
25
+ */
26
+ getProjects(accessToken: string): Promise<Projects>;
22
27
  /**
23
28
  * GET /api/idp/.well-known/jwks.json
24
29
  */
@@ -1 +1 @@
1
- {"version":3,"file":"IdentityOwoxClient.d.ts","sourceRoot":"","sources":["../../src/client/IdentityOwoxClient.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,YAAY,EAIb,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAGrD;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgB;gBAEzB,MAAM,EAAE,wBAAwB;IAW5C;;OAEG;IACG,QAAQ,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAKzD;;OAEG;IACG,WAAW,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAKtE;;OAEG;IACG,eAAe,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAUhF;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC;CAIvC"}
1
+ {"version":3,"file":"IdentityOwoxClient.d.ts","sourceRoot":"","sources":["../../src/client/IdentityOwoxClient.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,YAAY,EAIb,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAkB,MAAM,oBAAoB,CAAC;AAE9D;;;GAGG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgB;gBAEzB,MAAM,EAAE,wBAAwB;IAW5C;;OAEG;IACG,QAAQ,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAKzD;;OAEG;IACG,WAAW,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAKtE;;OAEG;IACG,eAAe,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAUhF;;OAEG;IACG,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAUzD;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC;CAIvC"}
@@ -7,6 +7,7 @@ exports.IdentityOwoxClient = void 0;
7
7
  const axios_1 = __importDefault(require("axios"));
8
8
  const dto_1 = require("./dto");
9
9
  const ms_1 = __importDefault(require("ms"));
10
+ const idp_protocol_1 = require("@owox/idp-protocol");
10
11
  /**
11
12
  * Represents a client for interacting with the Identity OWOX API.
12
13
  * Provides methods for token management, validation, and retrieval of key sets.
@@ -48,6 +49,17 @@ class IdentityOwoxClient {
48
49
  });
49
50
  return dto_1.IntrospectionResponseSchema.parse(data);
50
51
  }
52
+ /**
53
+ * GET /api/idp/projects
54
+ */
55
+ async getProjects(accessToken) {
56
+ const { data } = await this.http.get('/api/idp/projects', {
57
+ headers: {
58
+ Authorization: accessToken,
59
+ },
60
+ });
61
+ return idp_protocol_1.ProjectsSchema.parse(data);
62
+ }
51
63
  /**
52
64
  * GET /api/idp/.well-known/jwks.json
53
65
  */
package/dist/owoxIdp.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { AuthResult, IdpProvider, Payload } from '@owox/idp-protocol';
1
+ import { AuthResult, IdpProvider, Payload, Projects } from '@owox/idp-protocol';
2
2
  import e, { NextFunction } from 'express';
3
3
  import { IdpOwoxConfig } from './config';
4
4
  export declare class OwoxIdp implements IdpProvider {
@@ -15,6 +15,7 @@ export declare class OwoxIdp implements IdpProvider {
15
15
  signInMiddleware(_req: e.Request, res: e.Response, _next: NextFunction): Promise<void | e.Response>;
16
16
  signOutMiddleware(req: e.Request, res: e.Response, _next: NextFunction): Promise<void | e.Response>;
17
17
  userApiMiddleware(req: e.Request, res: e.Response): Promise<e.Response<Payload>>;
18
+ projectsApiMiddleware(req: e.Request, res: e.Response): Promise<e.Response<Projects>>;
18
19
  accessTokenMiddleware(req: e.Request, res: e.Response, _next: NextFunction): Promise<void | e.Response>;
19
20
  registerRoutes(app: e.Express): void;
20
21
  private changeAuthCode;
@@ -1 +1 @@
1
- {"version":3,"file":"owoxIdp.d.ts","sourceRoot":"","sources":["../src/owoxIdp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAiB,MAAM,oBAAoB,CAAC;AACrF,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,IAAI,EAAE,CAAC,CAAC,OAAO,EACf,GAAG,EAAE,CAAC,CAAC,QAAQ,EACf,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC;IAYvB,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,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,cAAc;IAgB5B,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,WAAW;CAOpB"}
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,IAAI,EAAE,CAAC,CAAC,OAAO,EACf,GAAG,EAAE,CAAC,CAAC,QAAQ,EACf,KAAK,EAAE,YAAY,GAClB,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC;IAYvB,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,cAAc;IAgB5B,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,WAAW;CAOpB"}
package/dist/owoxIdp.js CHANGED
@@ -90,6 +90,14 @@ class OwoxIdp {
90
90
  }
91
91
  return res.json(payload);
92
92
  }
93
+ async projectsApiMiddleware(req, res) {
94
+ const accessToken = req.headers['x-owox-authorization'];
95
+ if (!accessToken) {
96
+ return res.status(401).json({ message: 'Unauthorized', reason: 'pam1' });
97
+ }
98
+ const projects = await this.identityClient.getProjects(accessToken);
99
+ return res.json(projects);
100
+ }
93
101
  async accessTokenMiddleware(req, res, _next) {
94
102
  try {
95
103
  const refreshToken = req.cookies[COOKIE_NAME];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@owox/idp-owox",
3
- "version": "0.7.0-next-20250916105116",
3
+ "version": "0.7.0-next-20250916111152",
4
4
  "description": "Identity Provider implementation from OWOX",
5
5
  "author": "OWOX",
6
6
  "license": "ELv2",
@@ -21,7 +21,7 @@
21
21
  "prepublishOnly": "npm audit && npm run lint && npm run typecheck"
22
22
  },
23
23
  "dependencies": {
24
- "@owox/idp-protocol": "0.7.0-next-20250916105116",
24
+ "@owox/idp-protocol": "0.7.0-next-20250916111152",
25
25
  "pkce-challenge": "^5.0.0",
26
26
  "cookie-parser": "^1.4.7",
27
27
  "env-paths": "^3.0.0",