@shware/security 2.5.3 → 2.6.0

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 (225) hide show
  1. package/dist/auth/index.cjs +520 -561
  2. package/dist/auth/index.cjs.map +1 -1
  3. package/dist/auth/index.d.cts +104 -106
  4. package/dist/auth/index.d.cts.map +1 -0
  5. package/dist/auth/index.d.mts +109 -0
  6. package/dist/auth/index.d.mts.map +1 -0
  7. package/dist/auth/index.mjs +513 -536
  8. package/dist/auth/index.mjs.map +1 -1
  9. package/dist/auth/types.cjs +0 -19
  10. package/dist/auth/types.d.cts +44 -44
  11. package/dist/auth/types.d.cts.map +1 -0
  12. package/dist/auth/types.d.mts +50 -0
  13. package/dist/auth/types.d.mts.map +1 -0
  14. package/dist/auth/types.mjs +1 -1
  15. package/dist/core/index.cjs +34 -59
  16. package/dist/core/index.cjs.map +1 -1
  17. package/dist/core/index.d.cts +23 -21
  18. package/dist/core/index.d.cts.map +1 -0
  19. package/dist/core/index.d.mts +34 -0
  20. package/dist/core/index.d.mts.map +1 -0
  21. package/dist/core/index.mjs +32 -33
  22. package/dist/core/index.mjs.map +1 -1
  23. package/dist/email/schema.cjs +13 -38
  24. package/dist/email/schema.cjs.map +1 -1
  25. package/dist/email/schema.d.cts +11 -12
  26. package/dist/email/schema.d.cts.map +1 -0
  27. package/dist/email/schema.d.mts +12 -0
  28. package/dist/email/schema.d.mts.map +1 -0
  29. package/dist/email/schema.mjs +10 -11
  30. package/dist/email/schema.mjs.map +1 -1
  31. package/dist/index.cjs +17 -54
  32. package/dist/index.d.cts +10 -15
  33. package/dist/index.d.mts +10 -0
  34. package/dist/index.mjs +4 -17
  35. package/dist/oauth2/client.cjs +109 -145
  36. package/dist/oauth2/client.cjs.map +1 -1
  37. package/dist/oauth2/client.d.cts +55 -56
  38. package/dist/oauth2/client.d.cts.map +1 -0
  39. package/dist/oauth2/client.d.mts +58 -0
  40. package/dist/oauth2/client.d.mts.map +1 -0
  41. package/dist/oauth2/client.mjs +104 -116
  42. package/dist/oauth2/client.mjs.map +1 -1
  43. package/dist/oauth2/error.cjs +19 -44
  44. package/dist/oauth2/error.cjs.map +1 -1
  45. package/dist/oauth2/error.d.cts +8 -6
  46. package/dist/oauth2/error.d.cts.map +1 -0
  47. package/dist/oauth2/{error.d.ts → error.d.mts} +8 -6
  48. package/dist/oauth2/error.d.mts.map +1 -0
  49. package/dist/oauth2/error.mjs +18 -19
  50. package/dist/oauth2/error.mjs.map +1 -1
  51. package/dist/oauth2/provider/apple.cjs +75 -88
  52. package/dist/oauth2/provider/apple.cjs.map +1 -1
  53. package/dist/oauth2/provider/apple.d.cts +31 -30
  54. package/dist/oauth2/provider/apple.d.cts.map +1 -0
  55. package/dist/oauth2/provider/apple.d.mts +42 -0
  56. package/dist/oauth2/provider/apple.d.mts.map +1 -0
  57. package/dist/oauth2/provider/apple.mjs +71 -60
  58. package/dist/oauth2/provider/apple.mjs.map +1 -1
  59. package/dist/oauth2/provider/common.cjs +86 -109
  60. package/dist/oauth2/provider/common.cjs.map +1 -1
  61. package/dist/oauth2/provider/common.d.cts +19 -18
  62. package/dist/oauth2/provider/common.d.cts.map +1 -0
  63. package/dist/oauth2/provider/common.d.mts +30 -0
  64. package/dist/oauth2/provider/common.d.mts.map +1 -0
  65. package/dist/oauth2/provider/common.mjs +80 -79
  66. package/dist/oauth2/provider/common.mjs.map +1 -1
  67. package/dist/oauth2/provider/facebook.cjs +93 -109
  68. package/dist/oauth2/provider/facebook.cjs.map +1 -1
  69. package/dist/oauth2/provider/facebook.d.cts +29 -28
  70. package/dist/oauth2/provider/facebook.d.cts.map +1 -0
  71. package/dist/oauth2/provider/facebook.d.mts +45 -0
  72. package/dist/oauth2/provider/facebook.d.mts.map +1 -0
  73. package/dist/oauth2/provider/facebook.mjs +89 -81
  74. package/dist/oauth2/provider/facebook.mjs.map +1 -1
  75. package/dist/oauth2/provider/github.cjs +64 -91
  76. package/dist/oauth2/provider/github.cjs.map +1 -1
  77. package/dist/oauth2/provider/github.d.cts +52 -51
  78. package/dist/oauth2/provider/github.d.cts.map +1 -0
  79. package/dist/oauth2/provider/github.d.mts +60 -0
  80. package/dist/oauth2/provider/github.d.mts.map +1 -0
  81. package/dist/oauth2/provider/github.mjs +60 -63
  82. package/dist/oauth2/provider/github.mjs.map +1 -1
  83. package/dist/oauth2/provider/google.cjs +105 -122
  84. package/dist/oauth2/provider/google.cjs.map +1 -1
  85. package/dist/oauth2/provider/google.d.cts +34 -33
  86. package/dist/oauth2/provider/google.d.cts.map +1 -0
  87. package/dist/oauth2/provider/google.d.mts +44 -0
  88. package/dist/oauth2/provider/google.d.mts.map +1 -0
  89. package/dist/oauth2/provider/google.mjs +101 -94
  90. package/dist/oauth2/provider/google.mjs.map +1 -1
  91. package/dist/oauth2/provider/index.cjs +13 -46
  92. package/dist/oauth2/provider/index.d.cts +7 -7
  93. package/dist/oauth2/provider/index.d.mts +7 -0
  94. package/dist/oauth2/provider/index.mjs +1 -10
  95. package/dist/oauth2/provider/wechat.cjs +77 -99
  96. package/dist/oauth2/provider/wechat.cjs.map +1 -1
  97. package/dist/oauth2/provider/wechat.d.cts +28 -27
  98. package/dist/oauth2/provider/wechat.d.cts.map +1 -0
  99. package/dist/oauth2/provider/wechat.d.mts +39 -0
  100. package/dist/oauth2/provider/wechat.d.mts.map +1 -0
  101. package/dist/oauth2/provider/wechat.mjs +74 -72
  102. package/dist/oauth2/provider/wechat.mjs.map +1 -1
  103. package/dist/oauth2/provider/x.cjs +102 -125
  104. package/dist/oauth2/provider/x.cjs.map +1 -1
  105. package/dist/oauth2/provider/x.d.cts +51 -50
  106. package/dist/oauth2/provider/x.d.cts.map +1 -0
  107. package/dist/oauth2/provider/x.d.mts +69 -0
  108. package/dist/oauth2/provider/x.d.mts.map +1 -0
  109. package/dist/oauth2/provider/x.mjs +99 -103
  110. package/dist/oauth2/provider/x.mjs.map +1 -1
  111. package/dist/oauth2/types.cjs +13 -37
  112. package/dist/oauth2/types.cjs.map +1 -1
  113. package/dist/oauth2/types.d.cts +180 -178
  114. package/dist/oauth2/types.d.cts.map +1 -0
  115. package/dist/oauth2/types.d.mts +213 -0
  116. package/dist/oauth2/types.d.mts.map +1 -0
  117. package/dist/oauth2/types.mjs +13 -13
  118. package/dist/oauth2/types.mjs.map +1 -1
  119. package/dist/session/common.cjs +17 -43
  120. package/dist/session/common.cjs.map +1 -1
  121. package/dist/session/common.d.cts +4 -4
  122. package/dist/session/common.d.cts.map +1 -0
  123. package/dist/session/{common.d.ts → common.d.mts} +4 -4
  124. package/dist/session/common.d.mts.map +1 -0
  125. package/dist/session/common.mjs +14 -16
  126. package/dist/session/common.mjs.map +1 -1
  127. package/dist/session/db.cjs +88 -123
  128. package/dist/session/db.cjs.map +1 -1
  129. package/dist/session/db.d.cts +36 -36
  130. package/dist/session/db.d.cts.map +1 -0
  131. package/dist/session/db.d.mts +44 -0
  132. package/dist/session/db.d.mts.map +1 -0
  133. package/dist/session/db.mjs +84 -95
  134. package/dist/session/db.mjs.map +1 -1
  135. package/dist/session/map-session.cjs +71 -103
  136. package/dist/session/map-session.cjs.map +1 -1
  137. package/dist/session/map-session.d.cts +24 -24
  138. package/dist/session/map-session.d.cts.map +1 -0
  139. package/dist/session/map-session.d.mts +27 -0
  140. package/dist/session/map-session.d.mts.map +1 -0
  141. package/dist/session/map-session.mjs +70 -78
  142. package/dist/session/map-session.mjs.map +1 -1
  143. package/dist/session/redis.cjs +270 -319
  144. package/dist/session/redis.cjs.map +1 -1
  145. package/dist/session/redis.d.cts +51 -51
  146. package/dist/session/redis.d.cts.map +1 -0
  147. package/dist/session/redis.d.mts +58 -0
  148. package/dist/session/redis.d.mts.map +1 -0
  149. package/dist/session/redis.mjs +266 -291
  150. package/dist/session/redis.mjs.map +1 -1
  151. package/dist/session/types.cjs +0 -19
  152. package/dist/session/types.d.cts +34 -33
  153. package/dist/session/types.d.cts.map +1 -0
  154. package/dist/session/types.d.mts +45 -0
  155. package/dist/session/types.d.mts.map +1 -0
  156. package/dist/session/types.mjs +1 -1
  157. package/dist/utils/http.cjs +31 -55
  158. package/dist/utils/http.cjs.map +1 -1
  159. package/dist/utils/http.d.cts +7 -10
  160. package/dist/utils/http.d.cts.map +1 -0
  161. package/dist/utils/{http.d.ts → http.d.mts} +7 -10
  162. package/dist/utils/http.d.mts.map +1 -0
  163. package/dist/utils/http.mjs +24 -24
  164. package/dist/utils/http.mjs.map +1 -1
  165. package/dist/utils/oauth2.cjs +6 -30
  166. package/dist/utils/oauth2.cjs.map +1 -1
  167. package/dist/utils/oauth2.d.cts +3 -1
  168. package/dist/utils/oauth2.d.cts.map +1 -0
  169. package/dist/utils/oauth2.d.mts +5 -0
  170. package/dist/utils/oauth2.d.mts.map +1 -0
  171. package/dist/utils/oauth2.mjs +5 -5
  172. package/dist/utils/oauth2.mjs.map +1 -1
  173. package/dist/utils/timing.cjs +49 -70
  174. package/dist/utils/timing.cjs.map +1 -1
  175. package/dist/utils/timing.d.cts +10 -8
  176. package/dist/utils/timing.d.cts.map +1 -0
  177. package/dist/utils/timing.d.mts +15 -0
  178. package/dist/utils/timing.d.mts.map +1 -0
  179. package/dist/utils/timing.mjs +48 -45
  180. package/dist/utils/timing.mjs.map +1 -1
  181. package/dist/utils/valid.cjs +50 -71
  182. package/dist/utils/valid.cjs.map +1 -1
  183. package/dist/utils/valid.d.cts +17 -16
  184. package/dist/utils/valid.d.cts.map +1 -0
  185. package/dist/utils/valid.d.mts +28 -0
  186. package/dist/utils/valid.d.mts.map +1 -0
  187. package/dist/utils/valid.mjs +47 -44
  188. package/dist/utils/valid.mjs.map +1 -1
  189. package/package.json +22 -12
  190. package/dist/auth/index.d.ts +0 -111
  191. package/dist/auth/types.cjs.map +0 -1
  192. package/dist/auth/types.d.ts +0 -50
  193. package/dist/auth/types.mjs.map +0 -1
  194. package/dist/core/index.d.ts +0 -32
  195. package/dist/email/schema.d.ts +0 -13
  196. package/dist/index.cjs.map +0 -1
  197. package/dist/index.d.ts +0 -15
  198. package/dist/index.mjs.map +0 -1
  199. package/dist/oauth2/client.d.ts +0 -59
  200. package/dist/oauth2/provider/apple.d.ts +0 -41
  201. package/dist/oauth2/provider/common.d.ts +0 -29
  202. package/dist/oauth2/provider/facebook.d.ts +0 -44
  203. package/dist/oauth2/provider/github.d.ts +0 -59
  204. package/dist/oauth2/provider/google.d.ts +0 -43
  205. package/dist/oauth2/provider/index.cjs.map +0 -1
  206. package/dist/oauth2/provider/index.d.ts +0 -7
  207. package/dist/oauth2/provider/index.mjs.map +0 -1
  208. package/dist/oauth2/provider/wechat.d.ts +0 -38
  209. package/dist/oauth2/provider/x.d.ts +0 -68
  210. package/dist/oauth2/types.d.ts +0 -211
  211. package/dist/session/__tests__/redis.test.cjs +0 -247
  212. package/dist/session/__tests__/redis.test.cjs.map +0 -1
  213. package/dist/session/__tests__/redis.test.d.cts +0 -2
  214. package/dist/session/__tests__/redis.test.d.ts +0 -2
  215. package/dist/session/__tests__/redis.test.mjs +0 -252
  216. package/dist/session/__tests__/redis.test.mjs.map +0 -1
  217. package/dist/session/db.d.ts +0 -44
  218. package/dist/session/map-session.d.ts +0 -27
  219. package/dist/session/redis.d.ts +0 -58
  220. package/dist/session/types.cjs.map +0 -1
  221. package/dist/session/types.d.ts +0 -44
  222. package/dist/session/types.mjs.map +0 -1
  223. package/dist/utils/oauth2.d.ts +0 -3
  224. package/dist/utils/timing.d.ts +0 -13
  225. package/dist/utils/valid.d.ts +0 -27
@@ -1,150 +1,114 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/oauth2/client.ts
21
- var client_exports = {};
22
- __export(client_exports, {
23
- OAuth2Client: () => OAuth2Client,
24
- googleOneTapSchema: () => googleOneTapSchema,
25
- oauth2RedirectQuerySchema: () => oauth2RedirectQuerySchema
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ let _shware_utils = require("@shware/utils");
3
+ let zod_v4_mini = require("zod/v4-mini");
4
+ //#region src/oauth2/client.ts
5
+ const oauth2RedirectQuerySchema = (0, zod_v4_mini.object)({
6
+ code: (0, zod_v4_mini.optional)((0, zod_v4_mini.string)()),
7
+ state: (0, zod_v4_mini.optional)((0, zod_v4_mini.string)()),
8
+ error: (0, zod_v4_mini.optional)((0, zod_v4_mini.string)()),
9
+ error_description: (0, zod_v4_mini.optional)((0, zod_v4_mini.string)()),
10
+ error_uri: (0, zod_v4_mini.optional)((0, zod_v4_mini.string)())
26
11
  });
27
- module.exports = __toCommonJS(client_exports);
28
- var import_utils = require("@shware/utils");
29
- var import_v4_mini = require("zod/v4-mini");
30
- var oauth2RedirectQuerySchema = (0, import_v4_mini.object)({
31
- code: (0, import_v4_mini.optional)((0, import_v4_mini.string)()),
32
- state: (0, import_v4_mini.optional)((0, import_v4_mini.string)()),
33
- error: (0, import_v4_mini.optional)((0, import_v4_mini.string)()),
34
- error_description: (0, import_v4_mini.optional)((0, import_v4_mini.string)()),
35
- error_uri: (0, import_v4_mini.optional)((0, import_v4_mini.string)())
36
- });
37
- var googleOneTapSchema = (0, import_v4_mini.object)({
38
- // login_uri
39
- code: (0, import_v4_mini.optional)((0, import_v4_mini.string)()),
40
- state: (0, import_v4_mini.optional)((0, import_v4_mini.string)()),
41
- error: (0, import_v4_mini.optional)((0, import_v4_mini.string)()),
42
- error_description: (0, import_v4_mini.optional)((0, import_v4_mini.string)()),
43
- error_uri: (0, import_v4_mini.optional)((0, import_v4_mini.string)()),
44
- nonce: (0, import_v4_mini.optional)((0, import_v4_mini.string)()),
45
- g_csrf_token: (0, import_v4_mini.optional)((0, import_v4_mini.string)()),
46
- hd: (0, import_v4_mini.optional)((0, import_v4_mini.string)()),
47
- // callback
48
- credential: (0, import_v4_mini.optional)((0, import_v4_mini.string)())
12
+ const googleOneTapSchema = (0, zod_v4_mini.object)({
13
+ code: (0, zod_v4_mini.optional)((0, zod_v4_mini.string)()),
14
+ state: (0, zod_v4_mini.optional)((0, zod_v4_mini.string)()),
15
+ error: (0, zod_v4_mini.optional)((0, zod_v4_mini.string)()),
16
+ error_description: (0, zod_v4_mini.optional)((0, zod_v4_mini.string)()),
17
+ error_uri: (0, zod_v4_mini.optional)((0, zod_v4_mini.string)()),
18
+ nonce: (0, zod_v4_mini.optional)((0, zod_v4_mini.string)()),
19
+ g_csrf_token: (0, zod_v4_mini.optional)((0, zod_v4_mini.string)()),
20
+ hd: (0, zod_v4_mini.optional)((0, zod_v4_mini.string)()),
21
+ credential: (0, zod_v4_mini.optional)((0, zod_v4_mini.string)())
49
22
  });
50
23
  var OAuth2Client = class {
51
- config;
52
- constructor(config) {
53
- this.config = config;
54
- }
55
- get baseUri() {
56
- return this.config.baseUri;
57
- }
58
- get successUri() {
59
- return this.config.successUri;
60
- }
61
- get errorUri() {
62
- return this.config.errorUri;
63
- }
64
- async getClientConfig(registrationId) {
65
- const registrations = typeof this.config.registration === "function" ? await this.config.registration() : this.config.registration;
66
- const registration = registrations[registrationId];
67
- (0, import_utils.invariant)(registration, `Registration ${registrationId} not found`);
68
- const provider = this.config.provider[registration.provider ?? registrationId];
69
- (0, import_utils.invariant)(provider, `Provider ${registration.provider ?? registrationId} not found`);
70
- return { registration, provider };
71
- }
72
- async createAuthorizationUri({
73
- registrationId,
74
- state,
75
- pkce
76
- }) {
77
- const { provider, registration } = await this.getClientConfig(registrationId);
78
- const { baseUri } = this.config;
79
- const { scope, clientId, redirectUri } = registration;
80
- return provider.createAuthorizationUri({
81
- pkce,
82
- state,
83
- scope,
84
- clientId,
85
- redirectUri: redirectUri ?? `${baseUri}/login/oauth2/code/${registrationId}`
86
- });
87
- }
88
- async exchangeAuthorizationCode({
89
- registrationId,
90
- code,
91
- pkce
92
- }) {
93
- const { provider, registration } = await this.getClientConfig(registrationId);
94
- const { baseUri } = this.config;
95
- const { clientId, clientSecret, redirectUri } = registration;
96
- return provider.exchangeAuthorizationCode({
97
- code,
98
- pkce,
99
- clientId,
100
- clientSecret,
101
- redirectUri: redirectUri ?? `${baseUri}/login/oauth2/code/${registrationId}`
102
- });
103
- }
104
- async getUserInfo({
105
- registrationId,
106
- token
107
- }) {
108
- const { provider } = await this.getClientConfig(registrationId);
109
- return provider.getUserInfo(token);
110
- }
111
- async refreshAccessToken({
112
- registrationId,
113
- refreshToken
114
- }) {
115
- const { provider, registration } = await this.getClientConfig(registrationId);
116
- const { clientId, clientSecret } = registration;
117
- (0, import_utils.invariant)(provider.refreshAccessToken, "Provider does not support refreshAccessToken");
118
- return provider.refreshAccessToken({ refreshToken, clientId, clientSecret });
119
- }
120
- async revokeToken(registrationId, token) {
121
- const { provider, registration } = await this.getClientConfig(registrationId);
122
- const { clientId, clientSecret } = registration;
123
- (0, import_utils.invariant)(provider.revokeToken, "Provider does not support revokeToken");
124
- await provider.revokeToken({ token, clientId, clientSecret });
125
- }
126
- async loginOAuth2Native({
127
- registrationId,
128
- credentials,
129
- pkce
130
- }) {
131
- const { provider, registration } = await this.getClientConfig(registrationId);
132
- (0, import_utils.invariant)(provider.loginOAuth2Native, "Provider does not support loginOAuth2Native");
133
- const { baseUri } = this.config;
134
- const { clientId, clientSecret, redirectUri } = registration;
135
- return provider.loginOAuth2Native({
136
- clientId,
137
- clientSecret,
138
- redirectUri: redirectUri ?? `${baseUri}/login/oauth2/code/${registrationId}`,
139
- credentials,
140
- pkce
141
- });
142
- }
24
+ config;
25
+ constructor(config) {
26
+ this.config = config;
27
+ }
28
+ get baseUri() {
29
+ return this.config.baseUri;
30
+ }
31
+ get successUri() {
32
+ return this.config.successUri;
33
+ }
34
+ get errorUri() {
35
+ return this.config.errorUri;
36
+ }
37
+ async getClientConfig(registrationId) {
38
+ const registration = (typeof this.config.registration === "function" ? await this.config.registration() : this.config.registration)[registrationId];
39
+ (0, _shware_utils.invariant)(registration, `Registration ${registrationId} not found`);
40
+ const provider = this.config.provider[registration.provider ?? registrationId];
41
+ (0, _shware_utils.invariant)(provider, `Provider ${registration.provider ?? registrationId} not found`);
42
+ return {
43
+ registration,
44
+ provider
45
+ };
46
+ }
47
+ async createAuthorizationUri({ registrationId, state, pkce }) {
48
+ const { provider, registration } = await this.getClientConfig(registrationId);
49
+ const { baseUri } = this.config;
50
+ const { scope, clientId, redirectUri } = registration;
51
+ return provider.createAuthorizationUri({
52
+ pkce,
53
+ state,
54
+ scope,
55
+ clientId,
56
+ redirectUri: redirectUri ?? `${baseUri}/login/oauth2/code/${registrationId}`
57
+ });
58
+ }
59
+ async exchangeAuthorizationCode({ registrationId, code, pkce }) {
60
+ const { provider, registration } = await this.getClientConfig(registrationId);
61
+ const { baseUri } = this.config;
62
+ const { clientId, clientSecret, redirectUri } = registration;
63
+ return provider.exchangeAuthorizationCode({
64
+ code,
65
+ pkce,
66
+ clientId,
67
+ clientSecret,
68
+ redirectUri: redirectUri ?? `${baseUri}/login/oauth2/code/${registrationId}`
69
+ });
70
+ }
71
+ async getUserInfo({ registrationId, token }) {
72
+ const { provider } = await this.getClientConfig(registrationId);
73
+ return provider.getUserInfo(token);
74
+ }
75
+ async refreshAccessToken({ registrationId, refreshToken }) {
76
+ const { provider, registration } = await this.getClientConfig(registrationId);
77
+ const { clientId, clientSecret } = registration;
78
+ (0, _shware_utils.invariant)(provider.refreshAccessToken, "Provider does not support refreshAccessToken");
79
+ return provider.refreshAccessToken({
80
+ refreshToken,
81
+ clientId,
82
+ clientSecret
83
+ });
84
+ }
85
+ async revokeToken(registrationId, token) {
86
+ const { provider, registration } = await this.getClientConfig(registrationId);
87
+ const { clientId, clientSecret } = registration;
88
+ (0, _shware_utils.invariant)(provider.revokeToken, "Provider does not support revokeToken");
89
+ await provider.revokeToken({
90
+ token,
91
+ clientId,
92
+ clientSecret
93
+ });
94
+ }
95
+ async loginOAuth2Native({ registrationId, credentials, pkce }) {
96
+ const { provider, registration } = await this.getClientConfig(registrationId);
97
+ (0, _shware_utils.invariant)(provider.loginOAuth2Native, "Provider does not support loginOAuth2Native");
98
+ const { baseUri } = this.config;
99
+ const { clientId, clientSecret, redirectUri } = registration;
100
+ return provider.loginOAuth2Native({
101
+ clientId,
102
+ clientSecret,
103
+ redirectUri: redirectUri ?? `${baseUri}/login/oauth2/code/${registrationId}`,
104
+ credentials,
105
+ pkce
106
+ });
107
+ }
143
108
  };
144
- // Annotate the CommonJS export names for ESM import in node:
145
- 0 && (module.exports = {
146
- OAuth2Client,
147
- googleOneTapSchema,
148
- oauth2RedirectQuerySchema
149
- });
109
+ //#endregion
110
+ exports.OAuth2Client = OAuth2Client;
111
+ exports.googleOneTapSchema = googleOneTapSchema;
112
+ exports.oauth2RedirectQuerySchema = oauth2RedirectQuerySchema;
113
+
150
114
  //# sourceMappingURL=client.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/oauth2/client.ts"],"sourcesContent":["import { invariant } from '@shware/utils';\nimport { object, optional, string } from 'zod/v4-mini';\nimport type {\n NativeCredential,\n OAuth2ClientConfig,\n OAuth2Token,\n OidcToken,\n PkceParameters,\n} from './types';\n\nexport const oauth2RedirectQuerySchema = object({\n code: optional(string()),\n state: optional(string()),\n error: optional(string()),\n error_description: optional(string()),\n error_uri: optional(string()),\n});\n\nexport const googleOneTapSchema = object({\n // login_uri\n code: optional(string()),\n state: optional(string()),\n error: optional(string()),\n error_description: optional(string()),\n error_uri: optional(string()),\n nonce: optional(string()),\n g_csrf_token: optional(string()),\n hd: optional(string()),\n // callback\n credential: optional(string()),\n});\n\nexport class OAuth2Client {\n private config: OAuth2ClientConfig;\n constructor(config: OAuth2ClientConfig) {\n this.config = config;\n }\n\n get baseUri() {\n return this.config.baseUri;\n }\n\n get successUri() {\n return this.config.successUri;\n }\n\n get errorUri() {\n return this.config.errorUri;\n }\n\n private async getClientConfig(registrationId: string) {\n const registrations =\n typeof this.config.registration === 'function'\n ? await this.config.registration()\n : this.config.registration;\n\n const registration = registrations[registrationId];\n invariant(registration, `Registration ${registrationId} not found`);\n\n const provider = this.config.provider[registration.provider ?? registrationId];\n invariant(provider, `Provider ${registration.provider ?? registrationId} not found`);\n return { registration, provider };\n }\n\n async createAuthorizationUri({\n registrationId,\n state,\n pkce,\n }: {\n registrationId: string;\n state: string;\n pkce?: PkceParameters;\n }): Promise<URL> {\n const { provider, registration } = await this.getClientConfig(registrationId);\n\n const { baseUri } = this.config;\n const { scope, clientId, redirectUri } = registration;\n return provider.createAuthorizationUri({\n pkce,\n state,\n scope,\n clientId,\n redirectUri: redirectUri ?? `${baseUri}/login/oauth2/code/${registrationId}`,\n });\n }\n\n async exchangeAuthorizationCode({\n registrationId,\n code,\n pkce,\n }: {\n registrationId: string;\n code: string;\n pkce?: PkceParameters;\n }): Promise<OAuth2Token> {\n const { provider, registration } = await this.getClientConfig(registrationId);\n\n const { baseUri } = this.config;\n const { clientId, clientSecret, redirectUri } = registration;\n return provider.exchangeAuthorizationCode({\n code,\n pkce,\n clientId,\n clientSecret,\n redirectUri: redirectUri ?? `${baseUri}/login/oauth2/code/${registrationId}`,\n });\n }\n\n async getUserInfo({\n registrationId,\n token,\n }: {\n registrationId: string;\n token: OAuth2Token | OidcToken;\n }) {\n const { provider } = await this.getClientConfig(registrationId);\n return provider.getUserInfo(token);\n }\n\n async refreshAccessToken({\n registrationId,\n refreshToken,\n }: {\n registrationId: string;\n refreshToken: string;\n }): Promise<OAuth2Token> {\n const { provider, registration } = await this.getClientConfig(registrationId);\n const { clientId, clientSecret } = registration;\n\n invariant(provider.refreshAccessToken, 'Provider does not support refreshAccessToken');\n return provider.refreshAccessToken({ refreshToken, clientId, clientSecret });\n }\n\n async revokeToken(registrationId: string, token: string) {\n const { provider, registration } = await this.getClientConfig(registrationId);\n const { clientId, clientSecret } = registration;\n\n invariant(provider.revokeToken, 'Provider does not support revokeToken');\n await provider.revokeToken({ token, clientId, clientSecret });\n }\n\n async loginOAuth2Native({\n registrationId,\n credentials,\n pkce,\n }: {\n registrationId: string;\n credentials: NativeCredential;\n pkce?: PkceParameters;\n }) {\n const { provider, registration } = await this.getClientConfig(registrationId);\n invariant(provider.loginOAuth2Native, 'Provider does not support loginOAuth2Native');\n const { baseUri } = this.config;\n const { clientId, clientSecret, redirectUri } = registration;\n\n return provider.loginOAuth2Native({\n clientId,\n clientSecret,\n redirectUri: redirectUri ?? `${baseUri}/login/oauth2/code/${registrationId}`,\n credentials,\n pkce,\n });\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"file":"client.cjs","names":[],"sources":["../../src/oauth2/client.ts"],"sourcesContent":["import { invariant } from '@shware/utils';\nimport { object, optional, string } from 'zod/v4-mini';\nimport type {\n NativeCredential,\n OAuth2ClientConfig,\n OAuth2Token,\n OidcToken,\n PkceParameters,\n} from './types';\n\nexport const oauth2RedirectQuerySchema = object({\n code: optional(string()),\n state: optional(string()),\n error: optional(string()),\n error_description: optional(string()),\n error_uri: optional(string()),\n});\n\nexport const googleOneTapSchema = object({\n // login_uri\n code: optional(string()),\n state: optional(string()),\n error: optional(string()),\n error_description: optional(string()),\n error_uri: optional(string()),\n nonce: optional(string()),\n g_csrf_token: optional(string()),\n hd: optional(string()),\n // callback\n credential: optional(string()),\n});\n\nexport class OAuth2Client {\n private config: OAuth2ClientConfig;\n constructor(config: OAuth2ClientConfig) {\n this.config = config;\n }\n\n get baseUri() {\n return this.config.baseUri;\n }\n\n get successUri() {\n return this.config.successUri;\n }\n\n get errorUri() {\n return this.config.errorUri;\n }\n\n private async getClientConfig(registrationId: string) {\n const registrations =\n typeof this.config.registration === 'function'\n ? await this.config.registration()\n : this.config.registration;\n\n const registration = registrations[registrationId];\n invariant(registration, `Registration ${registrationId} not found`);\n\n const provider = this.config.provider[registration.provider ?? registrationId];\n invariant(provider, `Provider ${registration.provider ?? registrationId} not found`);\n return { registration, provider };\n }\n\n async createAuthorizationUri({\n registrationId,\n state,\n pkce,\n }: {\n registrationId: string;\n state: string;\n pkce?: PkceParameters;\n }): Promise<URL> {\n const { provider, registration } = await this.getClientConfig(registrationId);\n\n const { baseUri } = this.config;\n const { scope, clientId, redirectUri } = registration;\n return provider.createAuthorizationUri({\n pkce,\n state,\n scope,\n clientId,\n redirectUri: redirectUri ?? `${baseUri}/login/oauth2/code/${registrationId}`,\n });\n }\n\n async exchangeAuthorizationCode({\n registrationId,\n code,\n pkce,\n }: {\n registrationId: string;\n code: string;\n pkce?: PkceParameters;\n }): Promise<OAuth2Token> {\n const { provider, registration } = await this.getClientConfig(registrationId);\n\n const { baseUri } = this.config;\n const { clientId, clientSecret, redirectUri } = registration;\n return provider.exchangeAuthorizationCode({\n code,\n pkce,\n clientId,\n clientSecret,\n redirectUri: redirectUri ?? `${baseUri}/login/oauth2/code/${registrationId}`,\n });\n }\n\n async getUserInfo({\n registrationId,\n token,\n }: {\n registrationId: string;\n token: OAuth2Token | OidcToken;\n }) {\n const { provider } = await this.getClientConfig(registrationId);\n return provider.getUserInfo(token);\n }\n\n async refreshAccessToken({\n registrationId,\n refreshToken,\n }: {\n registrationId: string;\n refreshToken: string;\n }): Promise<OAuth2Token> {\n const { provider, registration } = await this.getClientConfig(registrationId);\n const { clientId, clientSecret } = registration;\n\n invariant(provider.refreshAccessToken, 'Provider does not support refreshAccessToken');\n return provider.refreshAccessToken({ refreshToken, clientId, clientSecret });\n }\n\n async revokeToken(registrationId: string, token: string) {\n const { provider, registration } = await this.getClientConfig(registrationId);\n const { clientId, clientSecret } = registration;\n\n invariant(provider.revokeToken, 'Provider does not support revokeToken');\n await provider.revokeToken({ token, clientId, clientSecret });\n }\n\n async loginOAuth2Native({\n registrationId,\n credentials,\n pkce,\n }: {\n registrationId: string;\n credentials: NativeCredential;\n pkce?: PkceParameters;\n }) {\n const { provider, registration } = await this.getClientConfig(registrationId);\n invariant(provider.loginOAuth2Native, 'Provider does not support loginOAuth2Native');\n const { baseUri } = this.config;\n const { clientId, clientSecret, redirectUri } = registration;\n\n return provider.loginOAuth2Native({\n clientId,\n clientSecret,\n redirectUri: redirectUri ?? `${baseUri}/login/oauth2/code/${registrationId}`,\n credentials,\n pkce,\n });\n }\n}\n"],"mappings":"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"}
@@ -1,59 +1,58 @@
1
- import { OAuth2ClientConfig, PkceParameters, OAuth2Token, OidcToken, UserInfo, NativeCredential } from './types.cjs';
2
- import * as zod_v4_core from 'zod/v4/core';
3
- import * as zod_mini from 'zod/mini';
4
-
5
- declare const oauth2RedirectQuerySchema: zod_mini.ZodMiniObject<{
6
- code: zod_mini.ZodMiniOptional<zod_mini.ZodMiniString<string>>;
7
- state: zod_mini.ZodMiniOptional<zod_mini.ZodMiniString<string>>;
8
- error: zod_mini.ZodMiniOptional<zod_mini.ZodMiniString<string>>;
9
- error_description: zod_mini.ZodMiniOptional<zod_mini.ZodMiniString<string>>;
10
- error_uri: zod_mini.ZodMiniOptional<zod_mini.ZodMiniString<string>>;
11
- }, zod_v4_core.$strip>;
12
- declare const googleOneTapSchema: zod_mini.ZodMiniObject<{
13
- code: zod_mini.ZodMiniOptional<zod_mini.ZodMiniString<string>>;
14
- state: zod_mini.ZodMiniOptional<zod_mini.ZodMiniString<string>>;
15
- error: zod_mini.ZodMiniOptional<zod_mini.ZodMiniString<string>>;
16
- error_description: zod_mini.ZodMiniOptional<zod_mini.ZodMiniString<string>>;
17
- error_uri: zod_mini.ZodMiniOptional<zod_mini.ZodMiniString<string>>;
18
- nonce: zod_mini.ZodMiniOptional<zod_mini.ZodMiniString<string>>;
19
- g_csrf_token: zod_mini.ZodMiniOptional<zod_mini.ZodMiniString<string>>;
20
- hd: zod_mini.ZodMiniOptional<zod_mini.ZodMiniString<string>>;
21
- credential: zod_mini.ZodMiniOptional<zod_mini.ZodMiniString<string>>;
22
- }, zod_v4_core.$strip>;
1
+ import { NativeCredential, OAuth2ClientConfig, OAuth2Token, OidcToken, PkceParameters, UserInfo } from "./types.cjs";
2
+ //#region src/oauth2/client.d.ts
3
+ declare const oauth2RedirectQuerySchema: import("zod/mini").ZodMiniObject<{
4
+ code: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
5
+ state: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
6
+ error: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
7
+ error_description: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
8
+ error_uri: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
9
+ }, import("zod/v4/core").$strip>;
10
+ declare const googleOneTapSchema: import("zod/mini").ZodMiniObject<{
11
+ code: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
12
+ state: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
13
+ error: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
14
+ error_description: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
15
+ error_uri: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
16
+ nonce: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
17
+ g_csrf_token: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
18
+ hd: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
19
+ credential: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
20
+ }, import("zod/v4/core").$strip>;
23
21
  declare class OAuth2Client {
24
- private config;
25
- constructor(config: OAuth2ClientConfig);
26
- get baseUri(): string;
27
- get successUri(): string;
28
- get errorUri(): string;
29
- private getClientConfig;
30
- createAuthorizationUri({ registrationId, state, pkce, }: {
31
- registrationId: string;
32
- state: string;
33
- pkce?: PkceParameters;
34
- }): Promise<URL>;
35
- exchangeAuthorizationCode({ registrationId, code, pkce, }: {
36
- registrationId: string;
37
- code: string;
38
- pkce?: PkceParameters;
39
- }): Promise<OAuth2Token>;
40
- getUserInfo({ registrationId, token, }: {
41
- registrationId: string;
42
- token: OAuth2Token | OidcToken;
43
- }): Promise<UserInfo<unknown>>;
44
- refreshAccessToken({ registrationId, refreshToken, }: {
45
- registrationId: string;
46
- refreshToken: string;
47
- }): Promise<OAuth2Token>;
48
- revokeToken(registrationId: string, token: string): Promise<void>;
49
- loginOAuth2Native({ registrationId, credentials, pkce, }: {
50
- registrationId: string;
51
- credentials: NativeCredential;
52
- pkce?: PkceParameters;
53
- }): Promise<{
54
- token: OAuth2Token;
55
- userInfo: UserInfo;
56
- }>;
22
+ private config;
23
+ constructor(config: OAuth2ClientConfig);
24
+ get baseUri(): string;
25
+ get successUri(): string;
26
+ get errorUri(): string;
27
+ private getClientConfig;
28
+ createAuthorizationUri({ registrationId, state, pkce }: {
29
+ registrationId: string;
30
+ state: string;
31
+ pkce?: PkceParameters;
32
+ }): Promise<URL>;
33
+ exchangeAuthorizationCode({ registrationId, code, pkce }: {
34
+ registrationId: string;
35
+ code: string;
36
+ pkce?: PkceParameters;
37
+ }): Promise<OAuth2Token>;
38
+ getUserInfo({ registrationId, token }: {
39
+ registrationId: string;
40
+ token: OAuth2Token | OidcToken;
41
+ }): Promise<UserInfo<unknown>>;
42
+ refreshAccessToken({ registrationId, refreshToken }: {
43
+ registrationId: string;
44
+ refreshToken: string;
45
+ }): Promise<OAuth2Token>;
46
+ revokeToken(registrationId: string, token: string): Promise<void>;
47
+ loginOAuth2Native({ registrationId, credentials, pkce }: {
48
+ registrationId: string;
49
+ credentials: NativeCredential;
50
+ pkce?: PkceParameters;
51
+ }): Promise<{
52
+ token: OAuth2Token;
53
+ userInfo: UserInfo;
54
+ }>;
57
55
  }
58
-
56
+ //#endregion
59
57
  export { OAuth2Client, googleOneTapSchema, oauth2RedirectQuerySchema };
58
+ //# sourceMappingURL=client.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.cts","names":[],"sources":["../../src/oauth2/client.ts"],"mappings":";;cAUa,8CAAyB;;;;;;;cAQzB,uCAAkB;;;;;;;;;;;cAclB;UACH;EACR,YAAY,QAAQ;MAIhB;MAIA;MAIA;UAIU;EAcR,yBACJ,gBACA,OACA;IAEA;IACA;IACA,OAAO;MACL,QAAQ;EAcN,4BACJ,gBACA,MACA;IAEA;IACA;IACA,OAAO;MACL,QAAQ;EAcN,cACJ,gBACA;IAEA;IACA,OAAO,cAAc;MACtB,QADsB;EAMjB,qBACJ,gBACA;IAEA;IACA;MACE,QAAQ;EAQN,YAAY,wBAAwB,gBAAa;EAQjD,oBACJ,gBACA,aACA;IAEA;IACA,aAAa;IACb,OAAO;MACR"}
@@ -0,0 +1,58 @@
1
+ import { NativeCredential, OAuth2ClientConfig, OAuth2Token, OidcToken, PkceParameters, UserInfo } from "./types.mjs";
2
+ //#region src/oauth2/client.d.ts
3
+ declare const oauth2RedirectQuerySchema: import("zod/mini").ZodMiniObject<{
4
+ code: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
5
+ state: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
6
+ error: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
7
+ error_description: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
8
+ error_uri: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
9
+ }, import("zod/v4/core").$strip>;
10
+ declare const googleOneTapSchema: import("zod/mini").ZodMiniObject<{
11
+ code: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
12
+ state: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
13
+ error: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
14
+ error_description: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
15
+ error_uri: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
16
+ nonce: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
17
+ g_csrf_token: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
18
+ hd: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
19
+ credential: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
20
+ }, import("zod/v4/core").$strip>;
21
+ declare class OAuth2Client {
22
+ private config;
23
+ constructor(config: OAuth2ClientConfig);
24
+ get baseUri(): string;
25
+ get successUri(): string;
26
+ get errorUri(): string;
27
+ private getClientConfig;
28
+ createAuthorizationUri({ registrationId, state, pkce }: {
29
+ registrationId: string;
30
+ state: string;
31
+ pkce?: PkceParameters;
32
+ }): Promise<URL>;
33
+ exchangeAuthorizationCode({ registrationId, code, pkce }: {
34
+ registrationId: string;
35
+ code: string;
36
+ pkce?: PkceParameters;
37
+ }): Promise<OAuth2Token>;
38
+ getUserInfo({ registrationId, token }: {
39
+ registrationId: string;
40
+ token: OAuth2Token | OidcToken;
41
+ }): Promise<UserInfo<unknown>>;
42
+ refreshAccessToken({ registrationId, refreshToken }: {
43
+ registrationId: string;
44
+ refreshToken: string;
45
+ }): Promise<OAuth2Token>;
46
+ revokeToken(registrationId: string, token: string): Promise<void>;
47
+ loginOAuth2Native({ registrationId, credentials, pkce }: {
48
+ registrationId: string;
49
+ credentials: NativeCredential;
50
+ pkce?: PkceParameters;
51
+ }): Promise<{
52
+ token: OAuth2Token;
53
+ userInfo: UserInfo;
54
+ }>;
55
+ }
56
+ //#endregion
57
+ export { OAuth2Client, googleOneTapSchema, oauth2RedirectQuerySchema };
58
+ //# sourceMappingURL=client.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.mts","names":[],"sources":["../../src/oauth2/client.ts"],"mappings":";;cAUa,8CAAyB;;;;;;;cAQzB,uCAAkB;;;;;;;;;;;cAclB;UACH;EACR,YAAY,QAAQ;MAIhB;MAIA;MAIA;UAIU;EAcR,yBACJ,gBACA,OACA;IAEA;IACA;IACA,OAAO;MACL,QAAQ;EAcN,4BACJ,gBACA,MACA;IAEA;IACA;IACA,OAAO;MACL,QAAQ;EAcN,cACJ,gBACA;IAEA;IACA,OAAO,cAAc;MACtB,QADsB;EAMjB,qBACJ,gBACA;IAEA;IACA;MACE,QAAQ;EAQN,YAAY,wBAAwB,gBAAa;EAQjD,oBACJ,gBACA,aACA;IAEA;IACA,aAAa;IACb,OAAO;MACR"}