@geekmidas/auth 0.0.3 → 0.0.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.
Files changed (102) hide show
  1. package/dist/{cacheTokenStorage-BlpcZwef.d.mts → cacheTokenStorage-BzBRJfd-.d.mts} +2 -1
  2. package/dist/cacheTokenStorage-Ca05vf3T.mjs +2 -1
  3. package/dist/cacheTokenStorage-Ca05vf3T.mjs.map +1 -0
  4. package/dist/cacheTokenStorage-CvptztkW.cjs +2 -1
  5. package/dist/cacheTokenStorage-CvptztkW.cjs.map +1 -0
  6. package/dist/cacheTokenStorage-yNUpDD8W.d.cts +2 -1
  7. package/dist/cacheTokenStorage.d.mts +1 -1
  8. package/dist/{chunk-DWy1uDak.cjs → chunk-CUT6urMc.cjs} +0 -9
  9. package/dist/client-DaiUm0UZ.cjs +2 -1
  10. package/dist/client-DaiUm0UZ.cjs.map +1 -0
  11. package/dist/client-DjNZS6vZ.mjs +2 -1
  12. package/dist/client-DjNZS6vZ.mjs.map +1 -0
  13. package/dist/client.d.mts +1 -1
  14. package/dist/hono/jwt.cjs +92 -0
  15. package/dist/hono/jwt.cjs.map +1 -0
  16. package/dist/hono/jwt.d.cts +45 -0
  17. package/dist/hono/jwt.d.mts +45 -0
  18. package/dist/hono/jwt.mjs +91 -0
  19. package/dist/hono/jwt.mjs.map +1 -0
  20. package/dist/hono/oidc.cjs +104 -0
  21. package/dist/hono/oidc.cjs.map +1 -0
  22. package/dist/hono/oidc.d.cts +48 -0
  23. package/dist/hono/oidc.d.mts +48 -0
  24. package/dist/hono/oidc.mjs +103 -0
  25. package/dist/hono/oidc.mjs.map +1 -0
  26. package/dist/index.cjs +1 -1
  27. package/dist/index.d.cts +1 -1
  28. package/dist/index.d.mts +2 -2
  29. package/dist/jwt-Bo_eACEi.cjs +70 -0
  30. package/dist/jwt-Bo_eACEi.cjs.map +1 -0
  31. package/dist/jwt-D88cPJyT.mjs +52 -0
  32. package/dist/jwt-D88cPJyT.mjs.map +1 -0
  33. package/dist/jwt-DF9kFbmh.d.cts +61 -0
  34. package/dist/jwt-DH8CJ2xC.d.mts +61 -0
  35. package/dist/jwt.cjs +5 -0
  36. package/dist/jwt.d.cts +2 -0
  37. package/dist/jwt.d.mts +2 -0
  38. package/dist/jwt.mjs +3 -0
  39. package/dist/lambda/jwt.cjs +126 -0
  40. package/dist/lambda/jwt.cjs.map +1 -0
  41. package/dist/lambda/jwt.d.cts +52 -0
  42. package/dist/lambda/jwt.d.mts +52 -0
  43. package/dist/lambda/jwt.mjs +125 -0
  44. package/dist/lambda/jwt.mjs.map +1 -0
  45. package/dist/lambda/oidc.cjs +117 -0
  46. package/dist/lambda/oidc.cjs.map +1 -0
  47. package/dist/lambda/oidc.d.cts +44 -0
  48. package/dist/lambda/oidc.d.mts +44 -0
  49. package/dist/lambda/oidc.mjs +116 -0
  50. package/dist/lambda/oidc.mjs.map +1 -0
  51. package/dist/oidc-C0KyYaAK.cjs +68 -0
  52. package/dist/oidc-C0KyYaAK.cjs.map +1 -0
  53. package/dist/oidc-CKOGLxjV.d.mts +86 -0
  54. package/dist/oidc-DDLIB5gb.d.cts +86 -0
  55. package/dist/oidc-KA30gMlx.mjs +62 -0
  56. package/dist/oidc-KA30gMlx.mjs.map +1 -0
  57. package/dist/oidc.cjs +3 -0
  58. package/dist/oidc.d.cts +3 -0
  59. package/dist/oidc.d.mts +3 -0
  60. package/dist/oidc.mjs +3 -0
  61. package/dist/server.cjs +1 -1
  62. package/dist/server.d.cts +1 -1
  63. package/dist/server.d.mts +2 -2
  64. package/dist/{tokenManager-CCcFk2Py.d.mts → tokenManager--Q93eNYr.d.mts} +2 -1
  65. package/dist/tokenManager-BVXxfHRa.mjs +2 -1
  66. package/dist/tokenManager-BVXxfHRa.mjs.map +1 -0
  67. package/dist/{tokenManager-B60gFnEF.cjs → tokenManager-EPmwgai2.cjs} +3 -2
  68. package/dist/tokenManager-EPmwgai2.cjs.map +1 -0
  69. package/dist/{tokenManager-mpzJKLvX.d.cts → tokenManager-H6-lWEah.d.cts} +2 -1
  70. package/dist/tokenManager.cjs +1 -1
  71. package/dist/tokenManager.d.cts +1 -1
  72. package/dist/tokenManager.d.mts +1 -1
  73. package/package.json +49 -2
  74. package/src/__tests__/hono-jwt.spec.ts +232 -0
  75. package/src/__tests__/hono-oidc.spec.ts +605 -0
  76. package/src/__tests__/jwt.spec.ts +174 -0
  77. package/src/__tests__/lambda-jwt.spec.ts +278 -0
  78. package/src/__tests__/lambda-oidc.spec.ts +623 -0
  79. package/src/__tests__/oidc.spec.ts +405 -0
  80. package/src/hono/jwt.ts +142 -0
  81. package/src/hono/oidc.ts +170 -0
  82. package/src/jwt.ts +106 -0
  83. package/src/lambda/jwt.ts +210 -0
  84. package/src/lambda/oidc.ts +203 -0
  85. package/src/oidc.ts +156 -0
  86. package/dist/__tests__/cacheTokenStorage.spec.cjs +0 -146
  87. package/dist/__tests__/cacheTokenStorage.spec.d.cts +0 -1
  88. package/dist/__tests__/cacheTokenStorage.spec.d.mts +0 -1
  89. package/dist/__tests__/cacheTokenStorage.spec.mjs +0 -145
  90. package/dist/__tests__/client.spec.cjs +0 -17281
  91. package/dist/__tests__/client.spec.d.cts +0 -1
  92. package/dist/__tests__/client.spec.d.mts +0 -1
  93. package/dist/__tests__/client.spec.mjs +0 -17308
  94. package/dist/__tests__/tokenManager.spec.cjs +0 -197
  95. package/dist/__tests__/tokenManager.spec.d.cts +0 -1
  96. package/dist/__tests__/tokenManager.spec.d.mts +0 -1
  97. package/dist/__tests__/tokenManager.spec.mjs +0 -196
  98. package/dist/playground.cjs +0 -0
  99. package/dist/playground.d.cts +0 -1
  100. package/dist/playground.d.mts +0 -1
  101. package/dist/playground.mjs +0 -0
  102. package/src/playground.ts +0 -0
@@ -0,0 +1,68 @@
1
+ const require_chunk = require('./chunk-CUT6urMc.cjs');
2
+ const jose = require_chunk.__toESM(require("jose"));
3
+
4
+ //#region src/oidc.ts
5
+ /**
6
+ * OIDC Verifier with auto-discovery and caching
7
+ */
8
+ var OidcVerifier = class {
9
+ discovery = null;
10
+ jwks = null;
11
+ discoveryUrl;
12
+ constructor(config) {
13
+ this.config = config;
14
+ this.discoveryUrl = config.issuer.endsWith("/") ? `${config.issuer}.well-known/openid-configuration` : `${config.issuer}/.well-known/openid-configuration`;
15
+ }
16
+ async getDiscovery() {
17
+ if (this.discovery && this.config.cacheDiscovery !== false) return this.discovery;
18
+ const response = await fetch(this.discoveryUrl);
19
+ if (!response.ok) throw new Error(`Failed to fetch OIDC discovery: ${response.statusText}`);
20
+ this.discovery = await response.json();
21
+ return this.discovery;
22
+ }
23
+ async getJwks() {
24
+ if (this.jwks && this.config.cacheDiscovery !== false) return this.jwks;
25
+ const disc = await this.getDiscovery();
26
+ this.jwks = jose.createRemoteJWKSet(new URL(disc.jwks_uri));
27
+ return this.jwks;
28
+ }
29
+ async verify(token) {
30
+ const key = await this.getJwks();
31
+ const { payload } = await jose.jwtVerify(token, key, {
32
+ issuer: this.config.issuer,
33
+ audience: this.config.audience
34
+ });
35
+ return payload;
36
+ }
37
+ async verifyOrNull(token) {
38
+ try {
39
+ return await this.verify(token);
40
+ } catch {
41
+ return null;
42
+ }
43
+ }
44
+ async fetchUserInfo(token) {
45
+ try {
46
+ const disc = await this.getDiscovery();
47
+ if (!disc.userinfo_endpoint) return null;
48
+ const response = await fetch(disc.userinfo_endpoint, { headers: { Authorization: `Bearer ${token}` } });
49
+ if (!response.ok) return null;
50
+ return await response.json();
51
+ } catch {
52
+ return null;
53
+ }
54
+ }
55
+ clearCache() {
56
+ this.discovery = null;
57
+ this.jwks = null;
58
+ }
59
+ };
60
+
61
+ //#endregion
62
+ Object.defineProperty(exports, 'OidcVerifier', {
63
+ enumerable: true,
64
+ get: function () {
65
+ return OidcVerifier;
66
+ }
67
+ });
68
+ //# sourceMappingURL=oidc-C0KyYaAK.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oidc-C0KyYaAK.cjs","names":["config: OidcConfig","token: string"],"sources":["../src/oidc.ts"],"sourcesContent":["import * as jose from 'jose';\nimport type { JwtClaims, TokenExtractionOptions } from './jwt';\n\nexport type { TokenExtractionOptions };\n\n/**\n * Standard OIDC claims (extends JWT claims)\n */\nexport interface OidcClaims extends JwtClaims {\n nonce?: string;\n auth_time?: number;\n at_hash?: string;\n c_hash?: string;\n azp?: string;\n}\n\n/**\n * Standard OIDC user info claims\n */\nexport interface OidcUserInfo {\n sub: string;\n name?: string;\n given_name?: string;\n family_name?: string;\n middle_name?: string;\n nickname?: string;\n preferred_username?: string;\n profile?: string;\n picture?: string;\n website?: string;\n email?: string;\n email_verified?: boolean;\n gender?: string;\n birthdate?: string;\n zoneinfo?: string;\n locale?: string;\n phone_number?: string;\n phone_number_verified?: boolean;\n address?: {\n formatted?: string;\n street_address?: string;\n locality?: string;\n region?: string;\n postal_code?: string;\n country?: string;\n };\n updated_at?: number;\n}\n\n/**\n * OIDC Discovery document\n */\nexport interface OidcDiscovery {\n issuer: string;\n authorization_endpoint: string;\n token_endpoint: string;\n userinfo_endpoint?: string;\n jwks_uri: string;\n scopes_supported?: string[];\n response_types_supported: string[];\n claims_supported?: string[];\n}\n\n/**\n * Configuration for OIDC verification\n */\nexport interface OidcConfig {\n issuer: string;\n audience: string | string[];\n cacheDiscovery?: boolean;\n}\n\n/**\n * OIDC Verifier with auto-discovery and caching\n */\nexport class OidcVerifier<\n TClaims extends OidcClaims = OidcClaims,\n TUserInfo extends OidcUserInfo = OidcUserInfo,\n> {\n private discovery: OidcDiscovery | null = null;\n private jwks: jose.JWTVerifyGetKey | null = null;\n private readonly discoveryUrl: string;\n\n constructor(private readonly config: OidcConfig) {\n this.discoveryUrl = config.issuer.endsWith('/')\n ? `${config.issuer}.well-known/openid-configuration`\n : `${config.issuer}/.well-known/openid-configuration`;\n }\n\n async getDiscovery(): Promise<OidcDiscovery> {\n if (this.discovery && this.config.cacheDiscovery !== false) {\n return this.discovery;\n }\n\n const response = await fetch(this.discoveryUrl);\n if (!response.ok) {\n throw new Error(`Failed to fetch OIDC discovery: ${response.statusText}`);\n }\n\n this.discovery = (await response.json()) as OidcDiscovery;\n return this.discovery;\n }\n\n private async getJwks(): Promise<jose.JWTVerifyGetKey> {\n if (this.jwks && this.config.cacheDiscovery !== false) {\n return this.jwks;\n }\n\n const disc = await this.getDiscovery();\n this.jwks = jose.createRemoteJWKSet(new URL(disc.jwks_uri));\n return this.jwks;\n }\n\n async verify(token: string): Promise<TClaims> {\n const key = await this.getJwks();\n const { payload } = await jose.jwtVerify(token, key, {\n issuer: this.config.issuer,\n audience: this.config.audience,\n });\n return payload as unknown as TClaims;\n }\n\n async verifyOrNull(token: string): Promise<TClaims | null> {\n try {\n return await this.verify(token);\n } catch {\n return null;\n }\n }\n\n async fetchUserInfo(token: string): Promise<TUserInfo | null> {\n try {\n const disc = await this.getDiscovery();\n if (!disc.userinfo_endpoint) {\n return null;\n }\n\n const response = await fetch(disc.userinfo_endpoint, {\n headers: { Authorization: `Bearer ${token}` },\n });\n\n if (!response.ok) {\n return null;\n }\n\n return (await response.json()) as TUserInfo;\n } catch {\n return null;\n }\n }\n\n clearCache(): void {\n this.discovery = null;\n this.jwks = null;\n }\n}\n"],"mappings":";;;;;;;AA2EA,IAAa,eAAb,MAGE;CACA,AAAQ,YAAkC;CAC1C,AAAQ,OAAoC;CAC5C,AAAiB;CAEjB,YAA6BA,QAAoB;EAApB;AAC3B,OAAK,eAAe,OAAO,OAAO,SAAS,IAAI,IAC1C,EAAE,OAAO,OAAO,qCAChB,EAAE,OAAO,OAAO;CACtB;CAED,MAAM,eAAuC;AAC3C,MAAI,KAAK,aAAa,KAAK,OAAO,mBAAmB,MACnD,QAAO,KAAK;EAGd,MAAM,WAAW,MAAM,MAAM,KAAK,aAAa;AAC/C,OAAK,SAAS,GACZ,OAAM,IAAI,OAAO,kCAAkC,SAAS,WAAW;AAGzE,OAAK,YAAa,MAAM,SAAS,MAAM;AACvC,SAAO,KAAK;CACb;CAED,MAAc,UAAyC;AACrD,MAAI,KAAK,QAAQ,KAAK,OAAO,mBAAmB,MAC9C,QAAO,KAAK;EAGd,MAAM,OAAO,MAAM,KAAK,cAAc;AACtC,OAAK,OAAO,KAAK,mBAAmB,IAAI,IAAI,KAAK,UAAU;AAC3D,SAAO,KAAK;CACb;CAED,MAAM,OAAOC,OAAiC;EAC5C,MAAM,MAAM,MAAM,KAAK,SAAS;EAChC,MAAM,EAAE,SAAS,GAAG,MAAM,KAAK,UAAU,OAAO,KAAK;GACnD,QAAQ,KAAK,OAAO;GACpB,UAAU,KAAK,OAAO;EACvB,EAAC;AACF,SAAO;CACR;CAED,MAAM,aAAaA,OAAwC;AACzD,MAAI;AACF,UAAO,MAAM,KAAK,OAAO,MAAM;EAChC,QAAO;AACN,UAAO;EACR;CACF;CAED,MAAM,cAAcA,OAA0C;AAC5D,MAAI;GACF,MAAM,OAAO,MAAM,KAAK,cAAc;AACtC,QAAK,KAAK,kBACR,QAAO;GAGT,MAAM,WAAW,MAAM,MAAM,KAAK,mBAAmB,EACnD,SAAS,EAAE,gBAAgB,SAAS,MAAM,EAAG,EAC9C,EAAC;AAEF,QAAK,SAAS,GACZ,QAAO;AAGT,UAAQ,MAAM,SAAS,MAAM;EAC9B,QAAO;AACN,UAAO;EACR;CACF;CAED,aAAmB;AACjB,OAAK,YAAY;AACjB,OAAK,OAAO;CACb;AACF"}
@@ -0,0 +1,86 @@
1
+ import { JwtClaims } from "./jwt-DH8CJ2xC.mjs";
2
+
3
+ //#region src/oidc.d.ts
4
+
5
+ /**
6
+ * Standard OIDC claims (extends JWT claims)
7
+ */
8
+ interface OidcClaims extends JwtClaims {
9
+ nonce?: string;
10
+ auth_time?: number;
11
+ at_hash?: string;
12
+ c_hash?: string;
13
+ azp?: string;
14
+ }
15
+ /**
16
+ * Standard OIDC user info claims
17
+ */
18
+ interface OidcUserInfo {
19
+ sub: string;
20
+ name?: string;
21
+ given_name?: string;
22
+ family_name?: string;
23
+ middle_name?: string;
24
+ nickname?: string;
25
+ preferred_username?: string;
26
+ profile?: string;
27
+ picture?: string;
28
+ website?: string;
29
+ email?: string;
30
+ email_verified?: boolean;
31
+ gender?: string;
32
+ birthdate?: string;
33
+ zoneinfo?: string;
34
+ locale?: string;
35
+ phone_number?: string;
36
+ phone_number_verified?: boolean;
37
+ address?: {
38
+ formatted?: string;
39
+ street_address?: string;
40
+ locality?: string;
41
+ region?: string;
42
+ postal_code?: string;
43
+ country?: string;
44
+ };
45
+ updated_at?: number;
46
+ }
47
+ /**
48
+ * OIDC Discovery document
49
+ */
50
+ interface OidcDiscovery {
51
+ issuer: string;
52
+ authorization_endpoint: string;
53
+ token_endpoint: string;
54
+ userinfo_endpoint?: string;
55
+ jwks_uri: string;
56
+ scopes_supported?: string[];
57
+ response_types_supported: string[];
58
+ claims_supported?: string[];
59
+ }
60
+ /**
61
+ * Configuration for OIDC verification
62
+ */
63
+ interface OidcConfig {
64
+ issuer: string;
65
+ audience: string | string[];
66
+ cacheDiscovery?: boolean;
67
+ }
68
+ /**
69
+ * OIDC Verifier with auto-discovery and caching
70
+ */
71
+ declare class OidcVerifier<TClaims extends OidcClaims = OidcClaims, TUserInfo extends OidcUserInfo = OidcUserInfo> {
72
+ private readonly config;
73
+ private discovery;
74
+ private jwks;
75
+ private readonly discoveryUrl;
76
+ constructor(config: OidcConfig);
77
+ getDiscovery(): Promise<OidcDiscovery>;
78
+ private getJwks;
79
+ verify(token: string): Promise<TClaims>;
80
+ verifyOrNull(token: string): Promise<TClaims | null>;
81
+ fetchUserInfo(token: string): Promise<TUserInfo | null>;
82
+ clearCache(): void;
83
+ }
84
+ //#endregion
85
+ export { OidcClaims, OidcConfig, OidcDiscovery, OidcUserInfo, OidcVerifier };
86
+ //# sourceMappingURL=oidc-CKOGLxjV.d.mts.map
@@ -0,0 +1,86 @@
1
+ import { JwtClaims } from "./jwt-DF9kFbmh.cjs";
2
+
3
+ //#region src/oidc.d.ts
4
+
5
+ /**
6
+ * Standard OIDC claims (extends JWT claims)
7
+ */
8
+ interface OidcClaims extends JwtClaims {
9
+ nonce?: string;
10
+ auth_time?: number;
11
+ at_hash?: string;
12
+ c_hash?: string;
13
+ azp?: string;
14
+ }
15
+ /**
16
+ * Standard OIDC user info claims
17
+ */
18
+ interface OidcUserInfo {
19
+ sub: string;
20
+ name?: string;
21
+ given_name?: string;
22
+ family_name?: string;
23
+ middle_name?: string;
24
+ nickname?: string;
25
+ preferred_username?: string;
26
+ profile?: string;
27
+ picture?: string;
28
+ website?: string;
29
+ email?: string;
30
+ email_verified?: boolean;
31
+ gender?: string;
32
+ birthdate?: string;
33
+ zoneinfo?: string;
34
+ locale?: string;
35
+ phone_number?: string;
36
+ phone_number_verified?: boolean;
37
+ address?: {
38
+ formatted?: string;
39
+ street_address?: string;
40
+ locality?: string;
41
+ region?: string;
42
+ postal_code?: string;
43
+ country?: string;
44
+ };
45
+ updated_at?: number;
46
+ }
47
+ /**
48
+ * OIDC Discovery document
49
+ */
50
+ interface OidcDiscovery {
51
+ issuer: string;
52
+ authorization_endpoint: string;
53
+ token_endpoint: string;
54
+ userinfo_endpoint?: string;
55
+ jwks_uri: string;
56
+ scopes_supported?: string[];
57
+ response_types_supported: string[];
58
+ claims_supported?: string[];
59
+ }
60
+ /**
61
+ * Configuration for OIDC verification
62
+ */
63
+ interface OidcConfig {
64
+ issuer: string;
65
+ audience: string | string[];
66
+ cacheDiscovery?: boolean;
67
+ }
68
+ /**
69
+ * OIDC Verifier with auto-discovery and caching
70
+ */
71
+ declare class OidcVerifier<TClaims extends OidcClaims = OidcClaims, TUserInfo extends OidcUserInfo = OidcUserInfo> {
72
+ private readonly config;
73
+ private discovery;
74
+ private jwks;
75
+ private readonly discoveryUrl;
76
+ constructor(config: OidcConfig);
77
+ getDiscovery(): Promise<OidcDiscovery>;
78
+ private getJwks;
79
+ verify(token: string): Promise<TClaims>;
80
+ verifyOrNull(token: string): Promise<TClaims | null>;
81
+ fetchUserInfo(token: string): Promise<TUserInfo | null>;
82
+ clearCache(): void;
83
+ }
84
+ //#endregion
85
+ export { OidcClaims, OidcConfig, OidcDiscovery, OidcUserInfo, OidcVerifier };
86
+ //# sourceMappingURL=oidc-DDLIB5gb.d.cts.map
@@ -0,0 +1,62 @@
1
+ import * as jose from "jose";
2
+
3
+ //#region src/oidc.ts
4
+ /**
5
+ * OIDC Verifier with auto-discovery and caching
6
+ */
7
+ var OidcVerifier = class {
8
+ discovery = null;
9
+ jwks = null;
10
+ discoveryUrl;
11
+ constructor(config) {
12
+ this.config = config;
13
+ this.discoveryUrl = config.issuer.endsWith("/") ? `${config.issuer}.well-known/openid-configuration` : `${config.issuer}/.well-known/openid-configuration`;
14
+ }
15
+ async getDiscovery() {
16
+ if (this.discovery && this.config.cacheDiscovery !== false) return this.discovery;
17
+ const response = await fetch(this.discoveryUrl);
18
+ if (!response.ok) throw new Error(`Failed to fetch OIDC discovery: ${response.statusText}`);
19
+ this.discovery = await response.json();
20
+ return this.discovery;
21
+ }
22
+ async getJwks() {
23
+ if (this.jwks && this.config.cacheDiscovery !== false) return this.jwks;
24
+ const disc = await this.getDiscovery();
25
+ this.jwks = jose.createRemoteJWKSet(new URL(disc.jwks_uri));
26
+ return this.jwks;
27
+ }
28
+ async verify(token) {
29
+ const key = await this.getJwks();
30
+ const { payload } = await jose.jwtVerify(token, key, {
31
+ issuer: this.config.issuer,
32
+ audience: this.config.audience
33
+ });
34
+ return payload;
35
+ }
36
+ async verifyOrNull(token) {
37
+ try {
38
+ return await this.verify(token);
39
+ } catch {
40
+ return null;
41
+ }
42
+ }
43
+ async fetchUserInfo(token) {
44
+ try {
45
+ const disc = await this.getDiscovery();
46
+ if (!disc.userinfo_endpoint) return null;
47
+ const response = await fetch(disc.userinfo_endpoint, { headers: { Authorization: `Bearer ${token}` } });
48
+ if (!response.ok) return null;
49
+ return await response.json();
50
+ } catch {
51
+ return null;
52
+ }
53
+ }
54
+ clearCache() {
55
+ this.discovery = null;
56
+ this.jwks = null;
57
+ }
58
+ };
59
+
60
+ //#endregion
61
+ export { OidcVerifier };
62
+ //# sourceMappingURL=oidc-KA30gMlx.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oidc-KA30gMlx.mjs","names":["config: OidcConfig","token: string"],"sources":["../src/oidc.ts"],"sourcesContent":["import * as jose from 'jose';\nimport type { JwtClaims, TokenExtractionOptions } from './jwt';\n\nexport type { TokenExtractionOptions };\n\n/**\n * Standard OIDC claims (extends JWT claims)\n */\nexport interface OidcClaims extends JwtClaims {\n nonce?: string;\n auth_time?: number;\n at_hash?: string;\n c_hash?: string;\n azp?: string;\n}\n\n/**\n * Standard OIDC user info claims\n */\nexport interface OidcUserInfo {\n sub: string;\n name?: string;\n given_name?: string;\n family_name?: string;\n middle_name?: string;\n nickname?: string;\n preferred_username?: string;\n profile?: string;\n picture?: string;\n website?: string;\n email?: string;\n email_verified?: boolean;\n gender?: string;\n birthdate?: string;\n zoneinfo?: string;\n locale?: string;\n phone_number?: string;\n phone_number_verified?: boolean;\n address?: {\n formatted?: string;\n street_address?: string;\n locality?: string;\n region?: string;\n postal_code?: string;\n country?: string;\n };\n updated_at?: number;\n}\n\n/**\n * OIDC Discovery document\n */\nexport interface OidcDiscovery {\n issuer: string;\n authorization_endpoint: string;\n token_endpoint: string;\n userinfo_endpoint?: string;\n jwks_uri: string;\n scopes_supported?: string[];\n response_types_supported: string[];\n claims_supported?: string[];\n}\n\n/**\n * Configuration for OIDC verification\n */\nexport interface OidcConfig {\n issuer: string;\n audience: string | string[];\n cacheDiscovery?: boolean;\n}\n\n/**\n * OIDC Verifier with auto-discovery and caching\n */\nexport class OidcVerifier<\n TClaims extends OidcClaims = OidcClaims,\n TUserInfo extends OidcUserInfo = OidcUserInfo,\n> {\n private discovery: OidcDiscovery | null = null;\n private jwks: jose.JWTVerifyGetKey | null = null;\n private readonly discoveryUrl: string;\n\n constructor(private readonly config: OidcConfig) {\n this.discoveryUrl = config.issuer.endsWith('/')\n ? `${config.issuer}.well-known/openid-configuration`\n : `${config.issuer}/.well-known/openid-configuration`;\n }\n\n async getDiscovery(): Promise<OidcDiscovery> {\n if (this.discovery && this.config.cacheDiscovery !== false) {\n return this.discovery;\n }\n\n const response = await fetch(this.discoveryUrl);\n if (!response.ok) {\n throw new Error(`Failed to fetch OIDC discovery: ${response.statusText}`);\n }\n\n this.discovery = (await response.json()) as OidcDiscovery;\n return this.discovery;\n }\n\n private async getJwks(): Promise<jose.JWTVerifyGetKey> {\n if (this.jwks && this.config.cacheDiscovery !== false) {\n return this.jwks;\n }\n\n const disc = await this.getDiscovery();\n this.jwks = jose.createRemoteJWKSet(new URL(disc.jwks_uri));\n return this.jwks;\n }\n\n async verify(token: string): Promise<TClaims> {\n const key = await this.getJwks();\n const { payload } = await jose.jwtVerify(token, key, {\n issuer: this.config.issuer,\n audience: this.config.audience,\n });\n return payload as unknown as TClaims;\n }\n\n async verifyOrNull(token: string): Promise<TClaims | null> {\n try {\n return await this.verify(token);\n } catch {\n return null;\n }\n }\n\n async fetchUserInfo(token: string): Promise<TUserInfo | null> {\n try {\n const disc = await this.getDiscovery();\n if (!disc.userinfo_endpoint) {\n return null;\n }\n\n const response = await fetch(disc.userinfo_endpoint, {\n headers: { Authorization: `Bearer ${token}` },\n });\n\n if (!response.ok) {\n return null;\n }\n\n return (await response.json()) as TUserInfo;\n } catch {\n return null;\n }\n }\n\n clearCache(): void {\n this.discovery = null;\n this.jwks = null;\n }\n}\n"],"mappings":";;;;;;AA2EA,IAAa,eAAb,MAGE;CACA,AAAQ,YAAkC;CAC1C,AAAQ,OAAoC;CAC5C,AAAiB;CAEjB,YAA6BA,QAAoB;EAApB;AAC3B,OAAK,eAAe,OAAO,OAAO,SAAS,IAAI,IAC1C,EAAE,OAAO,OAAO,qCAChB,EAAE,OAAO,OAAO;CACtB;CAED,MAAM,eAAuC;AAC3C,MAAI,KAAK,aAAa,KAAK,OAAO,mBAAmB,MACnD,QAAO,KAAK;EAGd,MAAM,WAAW,MAAM,MAAM,KAAK,aAAa;AAC/C,OAAK,SAAS,GACZ,OAAM,IAAI,OAAO,kCAAkC,SAAS,WAAW;AAGzE,OAAK,YAAa,MAAM,SAAS,MAAM;AACvC,SAAO,KAAK;CACb;CAED,MAAc,UAAyC;AACrD,MAAI,KAAK,QAAQ,KAAK,OAAO,mBAAmB,MAC9C,QAAO,KAAK;EAGd,MAAM,OAAO,MAAM,KAAK,cAAc;AACtC,OAAK,OAAO,KAAK,mBAAmB,IAAI,IAAI,KAAK,UAAU;AAC3D,SAAO,KAAK;CACb;CAED,MAAM,OAAOC,OAAiC;EAC5C,MAAM,MAAM,MAAM,KAAK,SAAS;EAChC,MAAM,EAAE,SAAS,GAAG,MAAM,KAAK,UAAU,OAAO,KAAK;GACnD,QAAQ,KAAK,OAAO;GACpB,UAAU,KAAK,OAAO;EACvB,EAAC;AACF,SAAO;CACR;CAED,MAAM,aAAaA,OAAwC;AACzD,MAAI;AACF,UAAO,MAAM,KAAK,OAAO,MAAM;EAChC,QAAO;AACN,UAAO;EACR;CACF;CAED,MAAM,cAAcA,OAA0C;AAC5D,MAAI;GACF,MAAM,OAAO,MAAM,KAAK,cAAc;AACtC,QAAK,KAAK,kBACR,QAAO;GAGT,MAAM,WAAW,MAAM,MAAM,KAAK,mBAAmB,EACnD,SAAS,EAAE,gBAAgB,SAAS,MAAM,EAAG,EAC9C,EAAC;AAEF,QAAK,SAAS,GACZ,QAAO;AAGT,UAAQ,MAAM,SAAS,MAAM;EAC9B,QAAO;AACN,UAAO;EACR;CACF;CAED,aAAmB;AACjB,OAAK,YAAY;AACjB,OAAK,OAAO;CACb;AACF"}
package/dist/oidc.cjs ADDED
@@ -0,0 +1,3 @@
1
+ const require_oidc = require('./oidc-C0KyYaAK.cjs');
2
+
3
+ exports.OidcVerifier = require_oidc.OidcVerifier;
@@ -0,0 +1,3 @@
1
+ import { TokenExtractionOptions } from "./jwt-DF9kFbmh.cjs";
2
+ import { OidcClaims, OidcConfig, OidcDiscovery, OidcUserInfo, OidcVerifier } from "./oidc-DDLIB5gb.cjs";
3
+ export { OidcClaims, OidcConfig, OidcDiscovery, OidcUserInfo, OidcVerifier, TokenExtractionOptions };
@@ -0,0 +1,3 @@
1
+ import { TokenExtractionOptions } from "./jwt-DH8CJ2xC.mjs";
2
+ import { OidcClaims, OidcConfig, OidcDiscovery, OidcUserInfo, OidcVerifier } from "./oidc-CKOGLxjV.mjs";
3
+ export { OidcClaims, OidcConfig, OidcDiscovery, OidcUserInfo, OidcVerifier, TokenExtractionOptions };
package/dist/oidc.mjs ADDED
@@ -0,0 +1,3 @@
1
+ import { OidcVerifier } from "./oidc-KA30gMlx.mjs";
2
+
3
+ export { OidcVerifier };
package/dist/server.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  const require_cacheTokenStorage = require('./cacheTokenStorage-CvptztkW.cjs');
2
- const require_tokenManager = require('./tokenManager-B60gFnEF.cjs');
2
+ const require_tokenManager = require('./tokenManager-EPmwgai2.cjs');
3
3
 
4
4
  exports.CacheTokenStorage = require_cacheTokenStorage.CacheTokenStorage;
5
5
  exports.TokenManager = require_tokenManager.TokenManager;
package/dist/server.d.cts CHANGED
@@ -1,3 +1,3 @@
1
1
  import { CacheTokenStorage } from "./cacheTokenStorage-yNUpDD8W.cjs";
2
- import { DecodedToken, TokenManager, TokenManagerOptions, TokenPair, TokenPayload } from "./tokenManager-mpzJKLvX.cjs";
2
+ import { DecodedToken, TokenManager, TokenManagerOptions, TokenPair, TokenPayload } from "./tokenManager-H6-lWEah.cjs";
3
3
  export { CacheTokenStorage, DecodedToken, TokenManager, TokenManagerOptions, TokenPair, TokenPayload };
package/dist/server.d.mts CHANGED
@@ -1,3 +1,3 @@
1
- import { CacheTokenStorage } from "./cacheTokenStorage-BlpcZwef.mjs";
2
- import { DecodedToken, TokenManager, TokenManagerOptions, TokenPair, TokenPayload } from "./tokenManager-CCcFk2Py.mjs";
1
+ import { CacheTokenStorage } from "./cacheTokenStorage-BzBRJfd-.mjs";
2
+ import { DecodedToken, TokenManager, TokenManagerOptions, TokenPair, TokenPayload } from "./tokenManager--Q93eNYr.mjs";
3
3
  export { CacheTokenStorage, DecodedToken, TokenManager, TokenManagerOptions, TokenPair, TokenPayload };
@@ -35,4 +35,5 @@ declare class TokenManager {
35
35
  getTokenExpiration(token: string): Date | null;
36
36
  }
37
37
  //#endregion
38
- export { DecodedToken, TokenManager, TokenManagerOptions, TokenPair, TokenPayload };
38
+ export { DecodedToken, TokenManager, TokenManagerOptions, TokenPair, TokenPayload };
39
+ //# sourceMappingURL=tokenManager--Q93eNYr.d.mts.map
@@ -60,4 +60,5 @@ var TokenManager = class {
60
60
  };
61
61
 
62
62
  //#endregion
63
- export { TokenManager };
63
+ export { TokenManager };
64
+ //# sourceMappingURL=tokenManager-BVXxfHRa.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenManager-BVXxfHRa.mjs","names":["options: TokenManagerOptions","payload: TokenPayload","token: string","refreshToken: string"],"sources":["../src/tokenManager.ts"],"sourcesContent":["import jwt from 'jsonwebtoken';\nimport type ms from 'ms';\n\nexport interface TokenPayload {\n userId: string;\n email?: string;\n [key: string]: any;\n}\n\nexport interface TokenPair {\n accessToken: string;\n refreshToken: string;\n}\n\nexport interface TokenManagerOptions {\n accessTokenSecret: string;\n refreshTokenSecret: string;\n accessTokenExpiresIn?: ms.StringValue;\n refreshTokenExpiresIn?: ms.StringValue;\n}\n\nexport interface DecodedToken extends TokenPayload {\n iat: number;\n exp: number;\n}\n\nexport class TokenManager {\n private accessTokenSecret: string;\n private refreshTokenSecret: string;\n private accessTokenExpiresIn: ms.StringValue;\n private refreshTokenExpiresIn: ms.StringValue;\n\n constructor(options: TokenManagerOptions) {\n this.accessTokenSecret = options.accessTokenSecret;\n this.refreshTokenSecret = options.refreshTokenSecret;\n this.accessTokenExpiresIn = options.accessTokenExpiresIn || '15m';\n this.refreshTokenExpiresIn = options.refreshTokenExpiresIn || '7d';\n }\n\n generateTokenPair(payload: TokenPayload): TokenPair {\n const accessToken = jwt.sign(payload, this.accessTokenSecret, {\n expiresIn: this.accessTokenExpiresIn,\n });\n\n const refreshToken = jwt.sign(payload, this.refreshTokenSecret, {\n expiresIn: this.refreshTokenExpiresIn,\n });\n\n return {\n accessToken,\n refreshToken,\n };\n }\n\n verifyAccessToken(token: string): DecodedToken {\n try {\n return jwt.verify(token, this.accessTokenSecret) as DecodedToken;\n } catch (error) {\n throw new Error(`Invalid access token: ${error.message}`);\n }\n }\n\n verifyRefreshToken(token: string): DecodedToken {\n try {\n return jwt.verify(token, this.refreshTokenSecret) as DecodedToken;\n } catch (error) {\n throw new Error(`Invalid refresh token: ${error.message}`);\n }\n }\n\n refreshAccessToken(refreshToken: string): string {\n const decoded = this.verifyRefreshToken(refreshToken);\n\n // Remove JWT specific fields before creating new token\n const { iat, exp, ...payload } = decoded;\n\n return jwt.sign(payload, this.accessTokenSecret, {\n expiresIn: this.accessTokenExpiresIn,\n });\n }\n\n decodeToken(token: string): DecodedToken | null {\n try {\n return jwt.decode(token) as DecodedToken;\n } catch {\n return null;\n }\n }\n\n isTokenExpired(token: string): boolean {\n const decoded = this.decodeToken(token);\n if (!decoded) return true;\n\n const now = Math.floor(Date.now() / 1000);\n return decoded.exp < now;\n }\n\n getTokenExpiration(token: string): Date | null {\n const decoded = this.decodeToken(token);\n if (!decoded) return null;\n\n return new Date(decoded.exp * 1000);\n }\n}\n"],"mappings":";;;AA0BA,IAAa,eAAb,MAA0B;CACxB,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CAER,YAAYA,SAA8B;AACxC,OAAK,oBAAoB,QAAQ;AACjC,OAAK,qBAAqB,QAAQ;AAClC,OAAK,uBAAuB,QAAQ,wBAAwB;AAC5D,OAAK,wBAAwB,QAAQ,yBAAyB;CAC/D;CAED,kBAAkBC,SAAkC;EAClD,MAAM,cAAc,IAAI,KAAK,SAAS,KAAK,mBAAmB,EAC5D,WAAW,KAAK,qBACjB,EAAC;EAEF,MAAM,eAAe,IAAI,KAAK,SAAS,KAAK,oBAAoB,EAC9D,WAAW,KAAK,sBACjB,EAAC;AAEF,SAAO;GACL;GACA;EACD;CACF;CAED,kBAAkBC,OAA6B;AAC7C,MAAI;AACF,UAAO,IAAI,OAAO,OAAO,KAAK,kBAAkB;EACjD,SAAQ,OAAO;AACd,SAAM,IAAI,OAAO,wBAAwB,MAAM,QAAQ;EACxD;CACF;CAED,mBAAmBA,OAA6B;AAC9C,MAAI;AACF,UAAO,IAAI,OAAO,OAAO,KAAK,mBAAmB;EAClD,SAAQ,OAAO;AACd,SAAM,IAAI,OAAO,yBAAyB,MAAM,QAAQ;EACzD;CACF;CAED,mBAAmBC,cAA8B;EAC/C,MAAM,UAAU,KAAK,mBAAmB,aAAa;EAGrD,MAAM,EAAE,KAAK,IAAK,GAAG,SAAS,GAAG;AAEjC,SAAO,IAAI,KAAK,SAAS,KAAK,mBAAmB,EAC/C,WAAW,KAAK,qBACjB,EAAC;CACH;CAED,YAAYD,OAAoC;AAC9C,MAAI;AACF,UAAO,IAAI,OAAO,MAAM;EACzB,QAAO;AACN,UAAO;EACR;CACF;CAED,eAAeA,OAAwB;EACrC,MAAM,UAAU,KAAK,YAAY,MAAM;AACvC,OAAK,QAAS,QAAO;EAErB,MAAM,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,IAAK;AACzC,SAAO,QAAQ,MAAM;CACtB;CAED,mBAAmBA,OAA4B;EAC7C,MAAM,UAAU,KAAK,YAAY,MAAM;AACvC,OAAK,QAAS,QAAO;AAErB,SAAO,IAAI,KAAK,QAAQ,MAAM;CAC/B;AACF"}
@@ -1,4 +1,4 @@
1
- const require_chunk = require('./chunk-DWy1uDak.cjs');
1
+ const require_chunk = require('./chunk-CUT6urMc.cjs');
2
2
  const jsonwebtoken = require_chunk.__toESM(require("jsonwebtoken"));
3
3
 
4
4
  //#region src/tokenManager.ts
@@ -66,4 +66,5 @@ Object.defineProperty(exports, 'TokenManager', {
66
66
  get: function () {
67
67
  return TokenManager;
68
68
  }
69
- });
69
+ });
70
+ //# sourceMappingURL=tokenManager-EPmwgai2.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenManager-EPmwgai2.cjs","names":["options: TokenManagerOptions","payload: TokenPayload","token: string","refreshToken: string"],"sources":["../src/tokenManager.ts"],"sourcesContent":["import jwt from 'jsonwebtoken';\nimport type ms from 'ms';\n\nexport interface TokenPayload {\n userId: string;\n email?: string;\n [key: string]: any;\n}\n\nexport interface TokenPair {\n accessToken: string;\n refreshToken: string;\n}\n\nexport interface TokenManagerOptions {\n accessTokenSecret: string;\n refreshTokenSecret: string;\n accessTokenExpiresIn?: ms.StringValue;\n refreshTokenExpiresIn?: ms.StringValue;\n}\n\nexport interface DecodedToken extends TokenPayload {\n iat: number;\n exp: number;\n}\n\nexport class TokenManager {\n private accessTokenSecret: string;\n private refreshTokenSecret: string;\n private accessTokenExpiresIn: ms.StringValue;\n private refreshTokenExpiresIn: ms.StringValue;\n\n constructor(options: TokenManagerOptions) {\n this.accessTokenSecret = options.accessTokenSecret;\n this.refreshTokenSecret = options.refreshTokenSecret;\n this.accessTokenExpiresIn = options.accessTokenExpiresIn || '15m';\n this.refreshTokenExpiresIn = options.refreshTokenExpiresIn || '7d';\n }\n\n generateTokenPair(payload: TokenPayload): TokenPair {\n const accessToken = jwt.sign(payload, this.accessTokenSecret, {\n expiresIn: this.accessTokenExpiresIn,\n });\n\n const refreshToken = jwt.sign(payload, this.refreshTokenSecret, {\n expiresIn: this.refreshTokenExpiresIn,\n });\n\n return {\n accessToken,\n refreshToken,\n };\n }\n\n verifyAccessToken(token: string): DecodedToken {\n try {\n return jwt.verify(token, this.accessTokenSecret) as DecodedToken;\n } catch (error) {\n throw new Error(`Invalid access token: ${error.message}`);\n }\n }\n\n verifyRefreshToken(token: string): DecodedToken {\n try {\n return jwt.verify(token, this.refreshTokenSecret) as DecodedToken;\n } catch (error) {\n throw new Error(`Invalid refresh token: ${error.message}`);\n }\n }\n\n refreshAccessToken(refreshToken: string): string {\n const decoded = this.verifyRefreshToken(refreshToken);\n\n // Remove JWT specific fields before creating new token\n const { iat, exp, ...payload } = decoded;\n\n return jwt.sign(payload, this.accessTokenSecret, {\n expiresIn: this.accessTokenExpiresIn,\n });\n }\n\n decodeToken(token: string): DecodedToken | null {\n try {\n return jwt.decode(token) as DecodedToken;\n } catch {\n return null;\n }\n }\n\n isTokenExpired(token: string): boolean {\n const decoded = this.decodeToken(token);\n if (!decoded) return true;\n\n const now = Math.floor(Date.now() / 1000);\n return decoded.exp < now;\n }\n\n getTokenExpiration(token: string): Date | null {\n const decoded = this.decodeToken(token);\n if (!decoded) return null;\n\n return new Date(decoded.exp * 1000);\n }\n}\n"],"mappings":";;;;AA0BA,IAAa,eAAb,MAA0B;CACxB,AAAQ;CACR,AAAQ;CACR,AAAQ;CACR,AAAQ;CAER,YAAYA,SAA8B;AACxC,OAAK,oBAAoB,QAAQ;AACjC,OAAK,qBAAqB,QAAQ;AAClC,OAAK,uBAAuB,QAAQ,wBAAwB;AAC5D,OAAK,wBAAwB,QAAQ,yBAAyB;CAC/D;CAED,kBAAkBC,SAAkC;EAClD,MAAM,cAAc,qBAAI,KAAK,SAAS,KAAK,mBAAmB,EAC5D,WAAW,KAAK,qBACjB,EAAC;EAEF,MAAM,eAAe,qBAAI,KAAK,SAAS,KAAK,oBAAoB,EAC9D,WAAW,KAAK,sBACjB,EAAC;AAEF,SAAO;GACL;GACA;EACD;CACF;CAED,kBAAkBC,OAA6B;AAC7C,MAAI;AACF,UAAO,qBAAI,OAAO,OAAO,KAAK,kBAAkB;EACjD,SAAQ,OAAO;AACd,SAAM,IAAI,OAAO,wBAAwB,MAAM,QAAQ;EACxD;CACF;CAED,mBAAmBA,OAA6B;AAC9C,MAAI;AACF,UAAO,qBAAI,OAAO,OAAO,KAAK,mBAAmB;EAClD,SAAQ,OAAO;AACd,SAAM,IAAI,OAAO,yBAAyB,MAAM,QAAQ;EACzD;CACF;CAED,mBAAmBC,cAA8B;EAC/C,MAAM,UAAU,KAAK,mBAAmB,aAAa;EAGrD,MAAM,EAAE,KAAK,IAAK,GAAG,SAAS,GAAG;AAEjC,SAAO,qBAAI,KAAK,SAAS,KAAK,mBAAmB,EAC/C,WAAW,KAAK,qBACjB,EAAC;CACH;CAED,YAAYD,OAAoC;AAC9C,MAAI;AACF,UAAO,qBAAI,OAAO,MAAM;EACzB,QAAO;AACN,UAAO;EACR;CACF;CAED,eAAeA,OAAwB;EACrC,MAAM,UAAU,KAAK,YAAY,MAAM;AACvC,OAAK,QAAS,QAAO;EAErB,MAAM,MAAM,KAAK,MAAM,KAAK,KAAK,GAAG,IAAK;AACzC,SAAO,QAAQ,MAAM;CACtB;CAED,mBAAmBA,OAA4B;EAC7C,MAAM,UAAU,KAAK,YAAY,MAAM;AACvC,OAAK,QAAS,QAAO;AAErB,SAAO,IAAI,KAAK,QAAQ,MAAM;CAC/B;AACF"}
@@ -35,4 +35,5 @@ declare class TokenManager {
35
35
  getTokenExpiration(token: string): Date | null;
36
36
  }
37
37
  //#endregion
38
- export { DecodedToken, TokenManager, TokenManagerOptions, TokenPair, TokenPayload };
38
+ export { DecodedToken, TokenManager, TokenManagerOptions, TokenPair, TokenPayload };
39
+ //# sourceMappingURL=tokenManager-H6-lWEah.d.cts.map
@@ -1,3 +1,3 @@
1
- const require_tokenManager = require('./tokenManager-B60gFnEF.cjs');
1
+ const require_tokenManager = require('./tokenManager-EPmwgai2.cjs');
2
2
 
3
3
  exports.TokenManager = require_tokenManager.TokenManager;
@@ -1,2 +1,2 @@
1
- import { DecodedToken, TokenManager, TokenManagerOptions, TokenPair, TokenPayload } from "./tokenManager-mpzJKLvX.cjs";
1
+ import { DecodedToken, TokenManager, TokenManagerOptions, TokenPair, TokenPayload } from "./tokenManager-H6-lWEah.cjs";
2
2
  export { DecodedToken, TokenManager, TokenManagerOptions, TokenPair, TokenPayload };
@@ -1,2 +1,2 @@
1
- import { DecodedToken, TokenManager, TokenManagerOptions, TokenPair, TokenPayload } from "./tokenManager-CCcFk2Py.mjs";
1
+ import { DecodedToken, TokenManager, TokenManagerOptions, TokenPair, TokenPayload } from "./tokenManager--Q93eNYr.mjs";
2
2
  export { DecodedToken, TokenManager, TokenManagerOptions, TokenPair, TokenPayload };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geekmidas/auth",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -17,21 +17,68 @@
17
17
  "types": "./dist/client.d.ts",
18
18
  "import": "./dist/client.mjs",
19
19
  "require": "./dist/client.cjs"
20
+ },
21
+ "./jwt": {
22
+ "types": "./dist/jwt.d.ts",
23
+ "import": "./dist/jwt.mjs",
24
+ "require": "./dist/jwt.cjs"
25
+ },
26
+ "./hono/jwt": {
27
+ "types": "./dist/hono/jwt.d.ts",
28
+ "import": "./dist/hono/jwt.mjs",
29
+ "require": "./dist/hono/jwt.cjs"
30
+ },
31
+ "./lambda/jwt": {
32
+ "types": "./dist/lambda/jwt.d.ts",
33
+ "import": "./dist/lambda/jwt.mjs",
34
+ "require": "./dist/lambda/jwt.cjs"
35
+ },
36
+ "./oidc": {
37
+ "types": "./dist/oidc.d.ts",
38
+ "import": "./dist/oidc.mjs",
39
+ "require": "./dist/oidc.cjs"
40
+ },
41
+ "./hono/oidc": {
42
+ "types": "./dist/hono/oidc.d.ts",
43
+ "import": "./dist/hono/oidc.mjs",
44
+ "require": "./dist/hono/oidc.cjs"
45
+ },
46
+ "./lambda/oidc": {
47
+ "types": "./dist/lambda/oidc.d.ts",
48
+ "import": "./dist/lambda/oidc.mjs",
49
+ "require": "./dist/lambda/oidc.cjs"
20
50
  }
21
51
  },
52
+ "repository": {
53
+ "type": "git",
54
+ "url": "https://github.com/geekmidas/toolbox"
55
+ },
22
56
  "publishConfig": {
23
57
  "registry": "https://registry.npmjs.org/",
24
58
  "access": "public"
25
59
  },
26
60
  "dependencies": {
27
61
  "@openauthjs/openauth": "~0.4.3",
62
+ "jose": "~5.10.0",
28
63
  "jsonwebtoken": "^9.0.2",
29
64
  "@types/ms": "~2.1.0",
30
- "@geekmidas/cache": "0.0.6"
65
+ "@geekmidas/cache": "0.0.7"
31
66
  },
32
67
  "devDependencies": {
33
68
  "@types/jsonwebtoken": "^9.0.5"
34
69
  },
70
+ "peerDependencies": {
71
+ "@types/aws-lambda": ">=8.10.92",
72
+ "hono": ">=4.0.0"
73
+ },
74
+ "peerDependenciesMeta": {
75
+ "@types/aws-lambda": {
76
+ "optional": true
77
+ },
78
+ "hono": {
79
+ "optional": true
80
+ }
81
+ },
35
82
  "scripts": {
36
83
  "play": "tsx src/playground.ts"
37
84
  }