auth0 4.0.0-beta.1 → 4.0.0-beta.10

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 (221) hide show
  1. package/README.md +17 -9
  2. package/dist/{typings → cjs}/auth/base-auth-api.d.ts +9 -3
  3. package/dist/cjs/auth/base-auth-api.js +49 -6
  4. package/dist/cjs/auth/base-auth-api.js.map +1 -1
  5. package/dist/{typings → cjs}/auth/client-authentication.d.ts +1 -1
  6. package/dist/cjs/auth/client-authentication.js +2 -3
  7. package/dist/cjs/auth/client-authentication.js.map +1 -1
  8. package/dist/{typings → cjs}/auth/database.d.ts +4 -0
  9. package/dist/cjs/auth/database.js.map +1 -1
  10. package/dist/cjs/auth/id-token-validator.js +14 -4
  11. package/dist/cjs/auth/id-token-validator.js.map +1 -1
  12. package/dist/cjs/auth/index.js +0 -4
  13. package/dist/cjs/auth/index.js.map +1 -1
  14. package/dist/{typings → cjs}/auth/oauth.d.ts +10 -8
  15. package/dist/cjs/auth/oauth.js +8 -35
  16. package/dist/cjs/auth/oauth.js.map +1 -1
  17. package/dist/{typings → cjs}/auth/passwordless.d.ts +1 -1
  18. package/dist/cjs/auth/passwordless.js +16 -8
  19. package/dist/cjs/auth/passwordless.js.map +1 -1
  20. package/dist/{typings → cjs}/index.d.ts +2 -0
  21. package/dist/cjs/index.js +2 -0
  22. package/dist/cjs/index.js.map +1 -1
  23. package/dist/{typings → cjs}/lib/errors.d.ts +0 -1
  24. package/dist/cjs/lib/errors.js.map +1 -1
  25. package/dist/{typings → cjs}/lib/models.d.ts +4 -5
  26. package/dist/cjs/lib/models.js.map +1 -1
  27. package/dist/{typings → cjs}/lib/retry.d.ts +1 -2
  28. package/dist/cjs/lib/retry.js +2 -4
  29. package/dist/cjs/lib/retry.js.map +1 -1
  30. package/dist/{typings → cjs}/lib/runtime.d.ts +1 -9
  31. package/dist/cjs/lib/runtime.js +5 -27
  32. package/dist/cjs/lib/runtime.js.map +1 -1
  33. package/dist/{typings → cjs}/management/__generated/managers/attack-protection-manager.d.ts +7 -13
  34. package/dist/cjs/management/__generated/managers/attack-protection-manager.js +6 -18
  35. package/dist/cjs/management/__generated/managers/attack-protection-manager.js.map +1 -1
  36. package/dist/{typings → cjs}/management/__generated/managers/client-grants-manager.d.ts +1 -1
  37. package/dist/cjs/management/__generated/managers/client-grants-manager.js +1 -1
  38. package/dist/{typings → cjs}/management/__generated/managers/clients-manager.d.ts +69 -11
  39. package/dist/cjs/management/__generated/managers/clients-manager.js +113 -46
  40. package/dist/cjs/management/__generated/managers/clients-manager.js.map +1 -1
  41. package/dist/{typings → cjs}/management/__generated/managers/connections-manager.d.ts +16 -3
  42. package/dist/cjs/management/__generated/managers/connections-manager.js +8 -3
  43. package/dist/cjs/management/__generated/managers/connections-manager.js.map +1 -1
  44. package/dist/{typings → cjs}/management/__generated/managers/email-templates-manager.d.ts +2 -2
  45. package/dist/cjs/management/__generated/managers/email-templates-manager.js.map +1 -1
  46. package/dist/{typings → cjs}/management/__generated/managers/grants-manager.d.ts +5 -5
  47. package/dist/cjs/management/__generated/managers/grants-manager.js +15 -14
  48. package/dist/cjs/management/__generated/managers/grants-manager.js.map +1 -1
  49. package/dist/{typings → cjs}/management/__generated/managers/guardian-manager.d.ts +11 -11
  50. package/dist/cjs/management/__generated/managers/guardian-manager.js +3 -1
  51. package/dist/cjs/management/__generated/managers/guardian-manager.js.map +1 -1
  52. package/dist/{typings → cjs}/management/__generated/managers/hooks-manager.d.ts +2 -6
  53. package/dist/cjs/management/__generated/managers/hooks-manager.js +2 -2
  54. package/dist/cjs/management/__generated/managers/hooks-manager.js.map +1 -1
  55. package/dist/{typings → cjs}/management/__generated/managers/jobs-manager.d.ts +1 -1
  56. package/dist/cjs/management/__generated/managers/jobs-manager.js +9 -17
  57. package/dist/cjs/management/__generated/managers/jobs-manager.js.map +1 -1
  58. package/dist/cjs/management/__generated/managers/organizations-manager.js +8 -0
  59. package/dist/cjs/management/__generated/managers/organizations-manager.js.map +1 -1
  60. package/dist/{typings → cjs}/management/__generated/managers/resource-servers-manager.d.ts +3 -3
  61. package/dist/cjs/management/__generated/managers/resource-servers-manager.js +2 -2
  62. package/dist/cjs/management/__generated/managers/resource-servers-manager.js.map +1 -1
  63. package/dist/{typings → cjs}/management/__generated/managers/roles-manager.d.ts +3 -3
  64. package/dist/cjs/management/__generated/managers/roles-manager.js +3 -3
  65. package/dist/cjs/management/__generated/managers/roles-manager.js.map +1 -1
  66. package/dist/{typings → cjs}/management/__generated/managers/users-manager.d.ts +12 -6
  67. package/dist/cjs/management/__generated/managers/users-manager.js +17 -4
  68. package/dist/cjs/management/__generated/managers/users-manager.js.map +1 -1
  69. package/dist/{typings → cjs}/management/__generated/models/index.d.ts +2859 -1294
  70. package/dist/cjs/management/__generated/models/index.js +178 -131
  71. package/dist/cjs/management/__generated/models/index.js.map +1 -1
  72. package/dist/{typings → cjs}/management/management-client.d.ts +0 -1
  73. package/dist/cjs/management/management-client.js +0 -1
  74. package/dist/cjs/management/management-client.js.map +1 -1
  75. package/dist/cjs/userinfo/index.d.ts +55 -0
  76. package/dist/cjs/userinfo/index.js +69 -0
  77. package/dist/cjs/userinfo/index.js.map +1 -0
  78. package/dist/cjs/version.d.ts +1 -0
  79. package/dist/cjs/version.js +1 -1
  80. package/dist/cjs/version.js.map +1 -1
  81. package/dist/esm/auth/base-auth-api.d.ts +39 -0
  82. package/dist/esm/auth/base-auth-api.js +48 -6
  83. package/dist/esm/auth/base-auth-api.js.map +1 -1
  84. package/dist/esm/auth/client-authentication.d.ts +26 -0
  85. package/dist/esm/auth/client-authentication.js +2 -3
  86. package/dist/esm/auth/client-authentication.js.map +1 -1
  87. package/dist/esm/auth/database.d.ts +157 -0
  88. package/dist/esm/auth/database.js.map +1 -1
  89. package/dist/esm/auth/id-token-validator.d.ts +18 -0
  90. package/dist/esm/auth/id-token-validator.js +14 -4
  91. package/dist/esm/auth/id-token-validator.js.map +1 -1
  92. package/dist/esm/auth/index.d.ts +15 -0
  93. package/dist/esm/auth/index.js +0 -4
  94. package/dist/esm/auth/index.js.map +1 -1
  95. package/dist/esm/auth/oauth.d.ts +297 -0
  96. package/dist/esm/auth/oauth.js +10 -37
  97. package/dist/esm/auth/oauth.js.map +1 -1
  98. package/dist/esm/auth/passwordless.d.ts +165 -0
  99. package/dist/esm/auth/passwordless.js +17 -9
  100. package/dist/esm/auth/passwordless.js.map +1 -1
  101. package/dist/esm/index.d.ts +4 -0
  102. package/dist/esm/index.js +2 -0
  103. package/dist/esm/index.js.map +1 -1
  104. package/dist/esm/lib/errors.d.ts +33 -0
  105. package/dist/esm/lib/errors.js.map +1 -1
  106. package/dist/esm/lib/index.d.ts +3 -0
  107. package/dist/esm/lib/middleware/telemetry-middleware.d.ts +12 -0
  108. package/dist/esm/lib/models.d.ts +123 -0
  109. package/dist/esm/lib/models.js.map +1 -1
  110. package/dist/esm/lib/retry.d.ts +26 -0
  111. package/dist/esm/lib/retry.js +2 -4
  112. package/dist/esm/lib/retry.js.map +1 -1
  113. package/dist/esm/lib/runtime.d.ts +61 -0
  114. package/dist/esm/lib/runtime.js +4 -22
  115. package/dist/esm/lib/runtime.js.map +1 -1
  116. package/dist/esm/management/__generated/index.d.ts +39 -0
  117. package/dist/esm/management/__generated/managers/actions-manager.d.ts +136 -0
  118. package/dist/esm/management/__generated/managers/anomaly-manager.d.ts +24 -0
  119. package/dist/esm/management/__generated/managers/attack-protection-manager.d.ts +46 -0
  120. package/dist/esm/management/__generated/managers/attack-protection-manager.js +6 -18
  121. package/dist/esm/management/__generated/managers/attack-protection-manager.js.map +1 -1
  122. package/dist/esm/management/__generated/managers/blacklists-manager.d.ts +28 -0
  123. package/dist/esm/management/__generated/managers/branding-manager.d.ts +103 -0
  124. package/dist/esm/management/__generated/managers/client-grants-manager.d.ts +42 -0
  125. package/dist/esm/management/__generated/managers/client-grants-manager.js +1 -1
  126. package/dist/esm/management/__generated/managers/clients-manager.d.ts +177 -0
  127. package/dist/esm/management/__generated/managers/clients-manager.js +113 -46
  128. package/dist/esm/management/__generated/managers/clients-manager.js.map +1 -1
  129. package/dist/esm/management/__generated/managers/connections-manager.d.ts +84 -0
  130. package/dist/esm/management/__generated/managers/connections-manager.js +8 -3
  131. package/dist/esm/management/__generated/managers/connections-manager.js.map +1 -1
  132. package/dist/esm/management/__generated/managers/custom-domains-manager.d.ts +106 -0
  133. package/dist/esm/management/__generated/managers/device-credentials-manager.d.ts +42 -0
  134. package/dist/esm/management/__generated/managers/email-templates-manager.d.ts +38 -0
  135. package/dist/esm/management/__generated/managers/email-templates-manager.js.map +1 -1
  136. package/dist/esm/management/__generated/managers/emails-manager.d.ts +40 -0
  137. package/dist/esm/management/__generated/managers/grants-manager.d.ts +34 -0
  138. package/dist/esm/management/__generated/managers/grants-manager.js +15 -14
  139. package/dist/esm/management/__generated/managers/grants-manager.js.map +1 -1
  140. package/dist/esm/management/__generated/managers/guardian-manager.d.ts +240 -0
  141. package/dist/esm/management/__generated/managers/guardian-manager.js +3 -1
  142. package/dist/esm/management/__generated/managers/guardian-manager.js.map +1 -1
  143. package/dist/esm/management/__generated/managers/hooks-manager.d.ts +90 -0
  144. package/dist/esm/management/__generated/managers/hooks-manager.js +2 -2
  145. package/dist/esm/management/__generated/managers/hooks-manager.js.map +1 -1
  146. package/dist/esm/management/__generated/managers/index.d.ts +31 -0
  147. package/dist/esm/management/__generated/managers/jobs-manager.d.ts +47 -0
  148. package/dist/esm/management/__generated/managers/jobs-manager.js +9 -17
  149. package/dist/esm/management/__generated/managers/jobs-manager.js.map +1 -1
  150. package/dist/esm/management/__generated/managers/keys-manager.d.ts +34 -0
  151. package/dist/esm/management/__generated/managers/log-streams-manager.d.ts +326 -0
  152. package/dist/esm/management/__generated/managers/logs-manager.d.ts +56 -0
  153. package/dist/esm/management/__generated/managers/organizations-manager.d.ts +191 -0
  154. package/dist/esm/management/__generated/managers/organizations-manager.js +8 -0
  155. package/dist/esm/management/__generated/managers/organizations-manager.js.map +1 -1
  156. package/dist/esm/management/__generated/managers/prompts-manager.d.ts +42 -0
  157. package/dist/esm/management/__generated/managers/resource-servers-manager.d.ts +48 -0
  158. package/dist/esm/management/__generated/managers/resource-servers-manager.js +2 -2
  159. package/dist/esm/management/__generated/managers/resource-servers-manager.js.map +1 -1
  160. package/dist/esm/management/__generated/managers/roles-manager.d.ts +110 -0
  161. package/dist/esm/management/__generated/managers/roles-manager.js +3 -3
  162. package/dist/esm/management/__generated/managers/roles-manager.js.map +1 -1
  163. package/dist/esm/management/__generated/managers/rules-configs-manager.d.ts +33 -0
  164. package/dist/esm/management/__generated/managers/rules-manager.d.ts +55 -0
  165. package/dist/esm/management/__generated/managers/stats-manager.d.ts +24 -0
  166. package/dist/esm/management/__generated/managers/tenants-manager.d.ts +24 -0
  167. package/dist/esm/management/__generated/managers/tickets-manager.d.ts +24 -0
  168. package/dist/esm/management/__generated/managers/user-blocks-manager.d.ts +45 -0
  169. package/dist/esm/management/__generated/managers/users-by-email-manager.d.ts +22 -0
  170. package/dist/esm/management/__generated/managers/users-manager.d.ts +329 -0
  171. package/dist/esm/management/__generated/managers/users-manager.js +17 -4
  172. package/dist/esm/management/__generated/managers/users-manager.js.map +1 -1
  173. package/dist/esm/management/__generated/models/index.d.ts +14269 -0
  174. package/dist/esm/management/__generated/models/index.js +174 -127
  175. package/dist/esm/management/__generated/models/index.js.map +1 -1
  176. package/dist/esm/management/index.d.ts +3 -0
  177. package/dist/esm/management/management-client-options.d.ts +17 -0
  178. package/dist/esm/management/management-client.d.ts +16 -0
  179. package/dist/esm/management/management-client.js +0 -1
  180. package/dist/esm/management/management-client.js.map +1 -1
  181. package/dist/esm/management/token-provider-middleware.d.ts +7 -0
  182. package/dist/esm/management/token-provider.d.ts +21 -0
  183. package/dist/esm/userinfo/index.d.ts +55 -0
  184. package/dist/esm/userinfo/index.js +63 -0
  185. package/dist/esm/userinfo/index.js.map +1 -0
  186. package/dist/esm/utils.d.ts +10 -0
  187. package/dist/esm/version.d.ts +1 -0
  188. package/dist/esm/version.js +1 -1
  189. package/dist/esm/version.js.map +1 -1
  190. package/package.json +19 -21
  191. package/dist/typings/version.d.ts +0 -1
  192. /package/dist/{typings → cjs}/auth/id-token-validator.d.ts +0 -0
  193. /package/dist/{typings → cjs}/auth/index.d.ts +0 -0
  194. /package/dist/{typings → cjs}/lib/index.d.ts +0 -0
  195. /package/dist/{typings → cjs}/lib/middleware/telemetry-middleware.d.ts +0 -0
  196. /package/dist/{typings → cjs}/management/__generated/index.d.ts +0 -0
  197. /package/dist/{typings → cjs}/management/__generated/managers/actions-manager.d.ts +0 -0
  198. /package/dist/{typings → cjs}/management/__generated/managers/anomaly-manager.d.ts +0 -0
  199. /package/dist/{typings → cjs}/management/__generated/managers/blacklists-manager.d.ts +0 -0
  200. /package/dist/{typings → cjs}/management/__generated/managers/branding-manager.d.ts +0 -0
  201. /package/dist/{typings → cjs}/management/__generated/managers/custom-domains-manager.d.ts +0 -0
  202. /package/dist/{typings → cjs}/management/__generated/managers/device-credentials-manager.d.ts +0 -0
  203. /package/dist/{typings → cjs}/management/__generated/managers/emails-manager.d.ts +0 -0
  204. /package/dist/{typings → cjs}/management/__generated/managers/index.d.ts +0 -0
  205. /package/dist/{typings → cjs}/management/__generated/managers/keys-manager.d.ts +0 -0
  206. /package/dist/{typings → cjs}/management/__generated/managers/log-streams-manager.d.ts +0 -0
  207. /package/dist/{typings → cjs}/management/__generated/managers/logs-manager.d.ts +0 -0
  208. /package/dist/{typings → cjs}/management/__generated/managers/organizations-manager.d.ts +0 -0
  209. /package/dist/{typings → cjs}/management/__generated/managers/prompts-manager.d.ts +0 -0
  210. /package/dist/{typings → cjs}/management/__generated/managers/rules-configs-manager.d.ts +0 -0
  211. /package/dist/{typings → cjs}/management/__generated/managers/rules-manager.d.ts +0 -0
  212. /package/dist/{typings → cjs}/management/__generated/managers/stats-manager.d.ts +0 -0
  213. /package/dist/{typings → cjs}/management/__generated/managers/tenants-manager.d.ts +0 -0
  214. /package/dist/{typings → cjs}/management/__generated/managers/tickets-manager.d.ts +0 -0
  215. /package/dist/{typings → cjs}/management/__generated/managers/user-blocks-manager.d.ts +0 -0
  216. /package/dist/{typings → cjs}/management/__generated/managers/users-by-email-manager.d.ts +0 -0
  217. /package/dist/{typings → cjs}/management/index.d.ts +0 -0
  218. /package/dist/{typings → cjs}/management/management-client-options.d.ts +0 -0
  219. /package/dist/{typings → cjs}/management/token-provider-middleware.d.ts +0 -0
  220. /package/dist/{typings → cjs}/management/token-provider.d.ts +0 -0
  221. /package/dist/{typings → cjs}/utils.d.ts +0 -0
@@ -1,5 +1,5 @@
1
- import { JSONApiResponse, VoidApiResponse, validateRequiredRequestParams, } from '../lib/runtime.js';
2
- import { BaseAuthAPI } from './base-auth-api.js';
1
+ import { VoidApiResponse, validateRequiredRequestParams, } from '../lib/runtime.js';
2
+ import { BaseAuthAPI, grant } from './base-auth-api.js';
3
3
  import { IDTokenValidator } from './id-token-validator.js';
4
4
  /**
5
5
  * OAuth 2.0 flows.
@@ -9,33 +9,6 @@ export class OAuth extends BaseAuthAPI {
9
9
  super(options);
10
10
  this.idTokenValidator = new IDTokenValidator(options);
11
11
  }
12
- async validateIdToken(tokenSet, idTokenValidateOptions) {
13
- const { id_token: idToken } = tokenSet;
14
- if (idToken) {
15
- await this.idTokenValidator.validate(idToken, idTokenValidateOptions);
16
- }
17
- }
18
- /**
19
- * Perform an OAuth 2.0 grant.
20
- * (You should only need this if you can't find the grant you need in this library.)
21
- */
22
- async grant(grantType, bodyParameters, { idTokenValidateOptions, initOverrides } = {}) {
23
- const response = await this.request({
24
- path: '/oauth/token',
25
- method: 'POST',
26
- headers: {
27
- 'Content-Type': 'application/x-www-form-urlencoded',
28
- },
29
- body: new URLSearchParams({
30
- client_id: this.clientId,
31
- ...bodyParameters,
32
- grant_type: grantType,
33
- }),
34
- }, initOverrides);
35
- const res = await JSONApiResponse.fromResponse(response);
36
- await this.validateIdToken(res.data, idTokenValidateOptions);
37
- return res;
38
- }
39
12
  /**
40
13
  * This is the flow that regular web apps use to access an API.
41
14
  *
@@ -56,7 +29,7 @@ export class OAuth extends BaseAuthAPI {
56
29
  */
57
30
  async authorizationCodeGrant(bodyParameters, options = {}) {
58
31
  validateRequiredRequestParams(bodyParameters, ['code']);
59
- return this.grant('authorization_code', await this.addClientAuthentication(bodyParameters, true), options);
32
+ return grant('authorization_code', await this.addClientAuthentication(bodyParameters), options, this.clientId, this.idTokenValidator, this.request.bind(this));
60
33
  }
61
34
  /**
62
35
  * PKCE was originally designed to protect the authorization code flow in mobile apps,
@@ -81,7 +54,7 @@ export class OAuth extends BaseAuthAPI {
81
54
  */
82
55
  async authorizationCodeGrantWithPKCE(bodyParameters, options = {}) {
83
56
  validateRequiredRequestParams(bodyParameters, ['code', 'code_verifier']);
84
- return this.grant('authorization_code', await this.addClientAuthentication(bodyParameters, false), options);
57
+ return grant('authorization_code', await this.addClientAuthentication(bodyParameters), options, this.clientId, this.idTokenValidator, this.request.bind(this));
85
58
  }
86
59
  /**
87
60
  * This is the OAuth 2.0 grant that server processes use to access an API.
@@ -104,7 +77,7 @@ export class OAuth extends BaseAuthAPI {
104
77
  */
105
78
  async clientCredentialsGrant(bodyParameters, options = {}) {
106
79
  validateRequiredRequestParams(bodyParameters, ['audience']);
107
- return this.grant('client_credentials', await this.addClientAuthentication(bodyParameters, true), options);
80
+ return grant('client_credentials', await this.addClientAuthentication(bodyParameters), options, this.clientId, this.idTokenValidator, this.request.bind(this));
108
81
  }
109
82
  /**
110
83
  * This information is typically received from a highly trusted public client like a SPA*.
@@ -120,11 +93,11 @@ export class OAuth extends BaseAuthAPI {
120
93
  * clientSecret: 'myClientSecret'
121
94
  * });
122
95
  *
123
- * await auth0.oauth.clientCredentialsGrant({
96
+ * await auth0.oauth.passwordGrant({
124
97
  * username: 'myusername@example.com',
125
98
  * password: 'mypassword'
126
99
  * },
127
- * { headers: { 'auth0-forwarded-for': 'END.USER.IP.123' } }
100
+ * { initOverrides: { headers: { 'auth0-forwarded-for': 'END.USER.IP.123' } } }
128
101
  * );
129
102
  * ```
130
103
  *
@@ -136,7 +109,7 @@ export class OAuth extends BaseAuthAPI {
136
109
  */
137
110
  async passwordGrant(bodyParameters, options = {}) {
138
111
  validateRequiredRequestParams(bodyParameters, ['username', 'password']);
139
- return this.grant(bodyParameters.realm ? 'http://auth0.com/oauth/grant-type/password-realm' : 'password', await this.addClientAuthentication(bodyParameters, false), options);
112
+ return grant(bodyParameters.realm ? 'http://auth0.com/oauth/grant-type/password-realm' : 'password', await this.addClientAuthentication(bodyParameters), options, this.clientId, this.idTokenValidator, this.request.bind(this));
140
113
  }
141
114
  /**
142
115
  * Use this endpoint to refresh an Access Token using the Refresh Token you got during authorization.
@@ -156,7 +129,7 @@ export class OAuth extends BaseAuthAPI {
156
129
  */
157
130
  async refreshTokenGrant(bodyParameters, options = {}) {
158
131
  validateRequiredRequestParams(bodyParameters, ['refresh_token']);
159
- return this.grant('refresh_token', await this.addClientAuthentication(bodyParameters, false), options);
132
+ return grant('refresh_token', await this.addClientAuthentication(bodyParameters), options, this.clientId, this.idTokenValidator, this.request.bind(this));
160
133
  }
161
134
  /**
162
135
  * Use this endpoint to invalidate a Refresh Token if it has been compromised.
@@ -187,7 +160,7 @@ export class OAuth extends BaseAuthAPI {
187
160
  headers: {
188
161
  'Content-Type': 'application/json',
189
162
  },
190
- body: await this.addClientAuthentication({ client_id: this.clientId, ...bodyParameters }, false),
163
+ body: await this.addClientAuthentication({ client_id: this.clientId, ...bodyParameters }),
191
164
  }, options.initOverrides);
192
165
  return VoidApiResponse.fromResponse(response);
193
166
  }
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../src/auth/oauth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../src/auth/oauth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,165 @@
1
+ import { InitOverride, JSONApiResponse, VoidApiResponse } from '../lib/runtime.js';
2
+ import { BaseAuthAPI, AuthenticationClientOptions } from './base-auth-api.js';
3
+ import { ClientCredentials, GrantOptions, TokenSet } from './oauth.js';
4
+ export interface SendEmailLinkRequest {
5
+ /**
6
+ * The user's email address
7
+ */
8
+ email: string;
9
+ /**
10
+ * Use `link` to send a link or `code` to send a verification code.
11
+ * If omitted, a `link` will be sent.
12
+ */
13
+ send?: 'link';
14
+ /**
15
+ * Append or override the link parameters (like `scope`, `redirect_uri`, `protocol`, `response_type`),
16
+ * when you send a link using email.
17
+ */
18
+ authParams?: Record<string, unknown>;
19
+ }
20
+ export interface SendEmailCodeRequest {
21
+ /**
22
+ * The user's email address
23
+ */
24
+ email: string;
25
+ /**
26
+ * Use `link` to send a link or `code` to send a verification code.
27
+ * If omitted, a `link` will be sent.
28
+ */
29
+ send?: 'code';
30
+ }
31
+ export type SendEmailRequest = SendEmailLinkRequest | SendEmailCodeRequest;
32
+ export interface SendSmsRequest {
33
+ /**
34
+ * The users phone number.
35
+ */
36
+ phone_number: string;
37
+ }
38
+ export interface LoginWithEmailRequest extends ClientCredentials {
39
+ /**
40
+ * The user's email address.
41
+ */
42
+ email: string;
43
+ /**
44
+ * The user's verification code.
45
+ */
46
+ code: string;
47
+ /**
48
+ * API Identifier of the API for which you want to get an Access Token.
49
+ */
50
+ audience?: string;
51
+ /**
52
+ * Use openid to get an ID Token, or openid profile email to also include user profile information in the ID Token.
53
+ */
54
+ scope?: string;
55
+ }
56
+ export interface LoginWithSMSRequest extends Omit<LoginWithEmailRequest, 'email'> {
57
+ /**
58
+ * The user's phone number.
59
+ */
60
+ phone_number: string;
61
+ }
62
+ /**
63
+ * Handles passwordless flows using Email and SMS.
64
+ */
65
+ export declare class Passwordless extends BaseAuthAPI {
66
+ private idTokenValidator;
67
+ constructor(configuration: AuthenticationClientOptions);
68
+ /**
69
+ * Start passwordless flow sending an email.
70
+ *
71
+ * Given the user `email` address, it will send an email with:
72
+ *
73
+ * <ul>
74
+ * <li>A link (default, `send:"link"`). You can then authenticate with this
75
+ * user opening the link and he will be automatically logged in to the
76
+ * application. Optionally, you can append/override parameters to the link
77
+ * (like `scope`, `redirect_uri`, `protocol`, `response_type`, etc.) using
78
+ * `authParams` object.
79
+ * </li>
80
+ * <li>
81
+ * A verification code (`send:"code"`). You can then authenticate with
82
+ * this user using the `/oauth/token` endpoint specifying `email` as
83
+ * `username` and `code` as `password`.
84
+ * </li>
85
+ * </ul>
86
+ *
87
+ * See: https://auth0.com/docs/api/authentication#get-code-or-link
88
+ *
89
+ * @example
90
+ * ```js
91
+ * const auth0 = new AuthenticationApi({
92
+ * domain: 'my-domain.auth0.com',
93
+ * clientId: 'myClientId',
94
+ * clientSecret: 'myClientSecret'
95
+ * });
96
+ *
97
+ * await auth0.passwordless.sendEmail({
98
+ * email: '{EMAIL}',
99
+ * send: 'link',
100
+ * authParams: {} // Optional auth params.
101
+ * });
102
+ * ```
103
+ */
104
+ sendEmail(bodyParameters: SendEmailRequest, initOverrides?: InitOverride): Promise<VoidApiResponse>;
105
+ /**
106
+ * Start passwordless flow sending an SMS.
107
+ *
108
+ * Given the user `phone_number`, it will send a SMS message with a
109
+ * verification code. You can then authenticate with this user using the
110
+ * `/oauth/token` endpoint specifying `phone_number` as `username` and `code` as
111
+ * `password`:
112
+ *
113
+ * See: https://auth0.com/docs/api/authentication#get-code-or-link
114
+ *
115
+ * @example
116
+ * ```js
117
+ * const auth0 = new AuthenticationApi({
118
+ * domain: 'my-domain.auth0.com',
119
+ * clientId: 'myClientId',
120
+ * clientSecret: 'myClientSecret'
121
+ * });
122
+ *
123
+ * await auth0.passwordless.sendSMS({
124
+ * phone_number: '{PHONE}'
125
+ * });
126
+ * ```
127
+ */
128
+ sendSMS(bodyParameters: SendSmsRequest, initOverrides?: InitOverride): Promise<VoidApiResponse>;
129
+ /**
130
+ * Once you have a verification code, use this endpoint to login the user with their email and verification code.
131
+ *
132
+ * @example
133
+ * ```js
134
+ * const auth0 = new AuthenticationApi({
135
+ * domain: 'my-domain.auth0.com',
136
+ * clientId: 'myClientId',
137
+ * clientSecret: 'myClientSecret'
138
+ * });
139
+ *
140
+ * await auth0.passwordless.loginWithEmail({
141
+ * email: 'foo@example.com',
142
+ * code: 'ABC123'
143
+ * });
144
+ * ```
145
+ */
146
+ loginWithEmail(bodyParameters: LoginWithEmailRequest, options?: GrantOptions): Promise<JSONApiResponse<TokenSet>>;
147
+ /**
148
+ * Once you have a verification code, use this endpoint to login the user with their phone number and verification code.
149
+ *
150
+ * @example
151
+ * ```js
152
+ * const auth0 = new AuthenticationApi({
153
+ * domain: 'my-domain.auth0.com',
154
+ * clientId: 'myClientId',
155
+ * clientSecret: 'myClientSecret'
156
+ * });
157
+ *
158
+ * await auth0.passwordless.loginWithSMS({
159
+ * phone_number: '0777777777',
160
+ * code: 'ABC123'
161
+ * });
162
+ * ```
163
+ */
164
+ loginWithSMS(bodyParameters: LoginWithSMSRequest, options?: GrantOptions): Promise<JSONApiResponse<TokenSet>>;
165
+ }
@@ -1,13 +1,13 @@
1
1
  import { VoidApiResponse, validateRequiredRequestParams, } from '../lib/runtime.js';
2
- import { BaseAuthAPI } from './base-auth-api.js';
3
- import { OAuth } from './oauth.js';
2
+ import { BaseAuthAPI, grant } from './base-auth-api.js';
3
+ import { IDTokenValidator } from './id-token-validator.js';
4
4
  /**
5
5
  * Handles passwordless flows using Email and SMS.
6
6
  */
7
7
  export class Passwordless extends BaseAuthAPI {
8
8
  constructor(configuration) {
9
9
  super(configuration);
10
- this.oauth = new OAuth(configuration);
10
+ this.idTokenValidator = new IDTokenValidator(configuration);
11
11
  }
12
12
  /**
13
13
  * Start passwordless flow sending an email.
@@ -53,7 +53,11 @@ export class Passwordless extends BaseAuthAPI {
53
53
  headers: {
54
54
  'Content-Type': 'application/json',
55
55
  },
56
- body: await this.addClientAuthentication({ client_id: this.clientId, connection: 'email', ...bodyParameters }, false),
56
+ body: await this.addClientAuthentication({
57
+ client_id: this.clientId,
58
+ connection: 'email',
59
+ ...bodyParameters,
60
+ }),
57
61
  }, initOverrides);
58
62
  return VoidApiResponse.fromResponse(response);
59
63
  }
@@ -88,7 +92,11 @@ export class Passwordless extends BaseAuthAPI {
88
92
  headers: {
89
93
  'Content-Type': 'application/json',
90
94
  },
91
- body: await this.addClientAuthentication({ client_id: this.clientId, connection: 'sms', ...bodyParameters }, false),
95
+ body: await this.addClientAuthentication({
96
+ client_id: this.clientId,
97
+ connection: 'sms',
98
+ ...bodyParameters,
99
+ }),
92
100
  }, initOverrides);
93
101
  return VoidApiResponse.fromResponse(response);
94
102
  }
@@ -112,12 +120,12 @@ export class Passwordless extends BaseAuthAPI {
112
120
  async loginWithEmail(bodyParameters, options = {}) {
113
121
  validateRequiredRequestParams(bodyParameters, ['email', 'code']);
114
122
  const { email: username, code: otp, ...otherParams } = bodyParameters;
115
- return this.oauth.grant('http://auth0.com/oauth/grant-type/passwordless/otp', await this.addClientAuthentication({
123
+ return grant('http://auth0.com/oauth/grant-type/passwordless/otp', await this.addClientAuthentication({
116
124
  username,
117
125
  otp,
118
126
  realm: 'email',
119
127
  ...otherParams,
120
- }, false), options);
128
+ }), options, this.clientId, this.idTokenValidator, this.request.bind(this));
121
129
  }
122
130
  /**
123
131
  * Once you have a verification code, use this endpoint to login the user with their phone number and verification code.
@@ -139,12 +147,12 @@ export class Passwordless extends BaseAuthAPI {
139
147
  async loginWithSMS(bodyParameters, options = {}) {
140
148
  validateRequiredRequestParams(bodyParameters, ['phone_number', 'code']);
141
149
  const { phone_number: username, code: otp, ...otherParams } = bodyParameters;
142
- return this.oauth.grant('http://auth0.com/oauth/grant-type/passwordless/otp', await this.addClientAuthentication({
150
+ return grant('http://auth0.com/oauth/grant-type/passwordless/otp', await this.addClientAuthentication({
143
151
  username,
144
152
  otp,
145
153
  realm: 'sms',
146
154
  ...otherParams,
147
- }, false), options);
155
+ }), options, this.clientId, this.idTokenValidator, this.request.bind(this));
148
156
  }
149
157
  }
150
158
  //# sourceMappingURL=passwordless.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"passwordless.js","sourceRoot":"","sources":["../../../src/auth/passwordless.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"passwordless.js","sourceRoot":"","sources":["../../../src/auth/passwordless.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from './management/index.js';
2
+ export * from './auth/index.js';
3
+ export * from './userinfo/index.js';
4
+ export * from './lib/errors.js';
package/dist/esm/index.js CHANGED
@@ -1,3 +1,5 @@
1
1
  export * from './management/index.js';
2
2
  export * from './auth/index.js';
3
+ export * from './userinfo/index.js';
4
+ export * from './lib/errors.js';
3
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Error thrown when the API returns an error response that can't be parsed to a more specific Error instance.
3
+ */
4
+ export declare class ResponseError extends Error {
5
+ statusCode: number;
6
+ body: string;
7
+ headers: Headers;
8
+ name: "ResponseError";
9
+ constructor(statusCode: number, body: string, headers: Headers, msg?: string);
10
+ }
11
+ /**
12
+ * Error thrown when the request is aborted due to a timeout.
13
+ */
14
+ export declare class TimeoutError extends Error {
15
+ name: "TimeoutError";
16
+ constructor();
17
+ }
18
+ /**
19
+ * Error thrown when there is a network error.
20
+ */
21
+ export declare class FetchError extends Error {
22
+ cause: Error;
23
+ name: "FetchError";
24
+ constructor(cause: Error, msg?: string);
25
+ }
26
+ /**
27
+ * Error thrown when a required argument was not provided.
28
+ */
29
+ export declare class RequiredError extends Error {
30
+ field: string;
31
+ name: "RequiredError";
32
+ constructor(field: string, msg?: string);
33
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/lib/errors.ts"],"names":[],"mappings":"AACA;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,KAAK;IAEtC,YACS,UAAkB,EAClB,IAAY,EACZ,OAAgB,EACvB,GAAY;QAEZ,KAAK,CAAC,GAAG,CAAC,CAAC;QALJ,eAAU,GAAV,UAAU,CAAQ;QAClB,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAS;QAJhB,SAAI,GAAG,eAAwB,CAAC;IAQzC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IAErC;QACE,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAF7B,SAAI,GAAG,cAAuB,CAAC;IAGxC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,UAAW,SAAQ,KAAK;IAEnC,YAAmB,KAAY,EAAE,GAAY;QAC3C,KAAK,CAAC,GAAG,CAAC,CAAC;QADM,UAAK,GAAL,KAAK,CAAO;QADtB,SAAI,GAAG,YAAqB,CAAC;IAGtC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,KAAK;IAEtC,YAAmB,KAAa,EAAE,GAAY;QAC5C,KAAK,CAAC,GAAG,CAAC,CAAC;QADM,UAAK,GAAL,KAAK,CAAQ;QADvB,SAAI,GAAG,eAAwB,CAAC;IAGzC,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/lib/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,KAAK;IAEtC,YACS,UAAkB,EAClB,IAAY,EACZ,OAAgB,EACvB,GAAY;QAEZ,KAAK,CAAC,GAAG,CAAC,CAAC;QALJ,eAAU,GAAV,UAAU,CAAQ;QAClB,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAS;QAJhB,SAAI,GAAG,eAAwB,CAAC;IAQzC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IAErC;QACE,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAF7B,SAAI,GAAG,cAAuB,CAAC;IAGxC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,UAAW,SAAQ,KAAK;IAEnC,YAAmB,KAAY,EAAE,GAAY;QAC3C,KAAK,CAAC,GAAG,CAAC,CAAC;QADM,UAAK,GAAL,KAAK,CAAO;QADtB,SAAI,GAAG,YAAqB,CAAC;IAGtC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,KAAK;IAEtC,YAAmB,KAAa,EAAE,GAAY;QAC5C,KAAK,CAAC,GAAG,CAAC,CAAC;QADM,UAAK,GAAL,KAAK,CAAQ;QADvB,SAAI,GAAG,eAAwB,CAAC;IAGzC,CAAC;CACF"}
@@ -0,0 +1,3 @@
1
+ export * from './errors.js';
2
+ export * from './models.js';
3
+ export { RetryConfiguration } from './retry.js';
@@ -0,0 +1,12 @@
1
+ import { Middleware, ClientOptions, FetchParams, RequestContext } from '../runtime.js';
2
+ /**
3
+ * @private
4
+ */
5
+ export declare class TelemetryMiddleware implements Middleware {
6
+ clientInfo: {
7
+ name: string;
8
+ [key: string]: unknown;
9
+ };
10
+ constructor(options: ClientOptions);
11
+ pre?(context: RequestContext): Promise<FetchParams | void>;
12
+ }
@@ -0,0 +1,123 @@
1
+ import { RetryConfiguration } from './retry.js';
2
+ /**
3
+ * @private
4
+ */
5
+ export type FetchAPI = (url: URL | RequestInfo, init?: RequestInit) => Promise<Response>;
6
+ export interface ClientOptions extends Omit<Configuration, 'baseUrl' | 'parseError' | 'middleware'> {
7
+ telemetry?: boolean;
8
+ clientInfo?: {
9
+ name: string;
10
+ [key: string]: unknown;
11
+ };
12
+ }
13
+ export interface Configuration {
14
+ baseUrl: string;
15
+ parseError: (response: Response) => Promise<Error>;
16
+ /**
17
+ * Provide your own fetch implementation.
18
+ */
19
+ fetch?: FetchAPI;
20
+ /**
21
+ * Provide a middleware that will run either before the request, after the request or when the request fails.
22
+ */
23
+ middleware?: Middleware[];
24
+ /**
25
+ * Pass your own http agent to support proxies.
26
+ */
27
+ agent?: unknown;
28
+ /**
29
+ * Custom headers that will be added to every request.
30
+ */
31
+ headers?: HTTPHeaders;
32
+ /**
33
+ * Timeout in ms before aborting the request (default 10,000)
34
+ */
35
+ timeoutDuration?: number;
36
+ /**
37
+ * Retry configuration.
38
+ */
39
+ retry?: RetryConfiguration;
40
+ }
41
+ export interface RequestOpts {
42
+ path: string;
43
+ method: HTTPMethod;
44
+ headers?: HTTPHeaders;
45
+ query?: HTTPQuery;
46
+ body?: HTTPBody;
47
+ }
48
+ export type HTTPMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'HEAD';
49
+ export type HTTPHeaders = {
50
+ [key: string]: string;
51
+ };
52
+ export type HTTPQuery = {
53
+ [key: string]: string | number | null | boolean | Array<string | number | null | boolean> | HTTPQuery;
54
+ };
55
+ export type HTTPBody = any | FormData | URLSearchParams;
56
+ export type HTTPRequestInit = {
57
+ headers?: HTTPHeaders;
58
+ method: HTTPMethod;
59
+ credentials?: RequestCredentials;
60
+ body?: HTTPBody;
61
+ };
62
+ export type InitOverrideFunction = (requestContext: {
63
+ init: HTTPRequestInit;
64
+ context: RequestOpts;
65
+ }) => Promise<RequestInit>;
66
+ export type InitOverride = RequestInit | InitOverrideFunction;
67
+ export interface ApiResponse<T> {
68
+ data: T;
69
+ headers: Headers;
70
+ status: number;
71
+ statusText: string;
72
+ }
73
+ export declare class JSONApiResponse<T> implements ApiResponse<T> {
74
+ data: T;
75
+ headers: Headers;
76
+ readonly status: number;
77
+ readonly statusText: string;
78
+ constructor(data: T, headers: Headers, status: number, statusText: string);
79
+ static fromResponse<T = unknown>(raw: Response): Promise<JSONApiResponse<T>>;
80
+ }
81
+ export declare class VoidApiResponse implements ApiResponse<undefined> {
82
+ headers: Headers;
83
+ readonly status: number;
84
+ readonly statusText: string;
85
+ data: undefined;
86
+ constructor(headers: Headers, status: number, statusText: string);
87
+ static fromResponse(raw: Response): Promise<VoidApiResponse>;
88
+ }
89
+ export declare class TextApiResponse implements ApiResponse<string> {
90
+ data: string;
91
+ headers: Headers;
92
+ readonly status: number;
93
+ readonly statusText: string;
94
+ constructor(data: string, headers: Headers, status: number, statusText: string);
95
+ static fromResponse(raw: Response): Promise<TextApiResponse>;
96
+ }
97
+ export interface FetchParams {
98
+ url: URL | RequestInfo;
99
+ init: RequestInit;
100
+ }
101
+ export interface RequestContext {
102
+ fetch: FetchAPI;
103
+ url: URL | RequestInfo;
104
+ init: RequestInit;
105
+ }
106
+ export interface ResponseContext {
107
+ fetch: FetchAPI;
108
+ url: URL | RequestInfo;
109
+ init: RequestInit;
110
+ response: Response;
111
+ }
112
+ export interface ErrorContext {
113
+ fetch: FetchAPI;
114
+ url: URL | RequestInfo;
115
+ init: RequestInit;
116
+ error: unknown;
117
+ response?: Response;
118
+ }
119
+ export interface Middleware {
120
+ pre?(context: RequestContext): Promise<FetchParams | void> | FetchParams | void;
121
+ post?(context: ResponseContext): Promise<Response | void> | Response | void;
122
+ onError?(context: ErrorContext): Promise<Response | void> | Response | void;
123
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/lib/models.ts"],"names":[],"mappings":"AAsFA,MAAM,OAAO,eAAe;IAC1B,YACS,IAAO,EACP,OAAgB,EACd,MAAc,EACd,UAAkB;QAHpB,SAAI,GAAJ,IAAI,CAAG;QACP,YAAO,GAAP,OAAO,CAAS;QACd,WAAM,GAAN,MAAM,CAAQ;QACd,eAAU,GAAV,UAAU,CAAQ;IAC1B,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,YAAY,CAAc,GAAa;QAClD,MAAM,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAM,CAAC;QACtC,OAAO,IAAI,eAAe,CAAI,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAChF,CAAC;CACF;AAED,MAAM,OAAO,eAAe;IAE1B,YAAmB,OAAgB,EAAW,MAAc,EAAW,UAAkB;QAAtE,YAAO,GAAP,OAAO,CAAS;QAAW,WAAM,GAAN,MAAM,CAAQ;QAAW,eAAU,GAAV,UAAU,CAAQ;IAAG,CAAC;IAE7F,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,GAAa;QACrC,OAAO,IAAI,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACtE,CAAC;CACF;AAED,MAAM,OAAO,eAAe;IAC1B,YACS,IAAY,EACZ,OAAgB,EACd,MAAc,EACd,UAAkB;QAHpB,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAS;QACd,WAAM,GAAN,MAAM,CAAQ;QACd,eAAU,GAAV,UAAU,CAAQ;IAC1B,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,GAAa;QACrC,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC/B,OAAO,IAAI,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAC7E,CAAC;CACF"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/lib/models.ts"],"names":[],"mappings":"AAuFA,MAAM,OAAO,eAAe;IAC1B,YACS,IAAO,EACP,OAAgB,EACd,MAAc,EACd,UAAkB;QAHpB,SAAI,GAAJ,IAAI,CAAG;QACP,YAAO,GAAP,OAAO,CAAS;QACd,WAAM,GAAN,MAAM,CAAQ;QACd,eAAU,GAAV,UAAU,CAAQ;IAC1B,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,YAAY,CAAc,GAAa;QAClD,MAAM,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAM,CAAC;QACtC,OAAO,IAAI,eAAe,CAAI,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAChF,CAAC;CACF;AAED,MAAM,OAAO,eAAe;IAE1B,YAAmB,OAAgB,EAAW,MAAc,EAAW,UAAkB;QAAtE,YAAO,GAAP,OAAO,CAAS;QAAW,WAAM,GAAN,MAAM,CAAQ;QAAW,eAAU,GAAV,UAAU,CAAQ;IAAG,CAAC;IAE7F,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,GAAa;QACrC,OAAO,IAAI,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACtE,CAAC;CACF;AAED,MAAM,OAAO,eAAe;IAC1B,YACS,IAAY,EACZ,OAAgB,EACd,MAAc,EACd,UAAkB;QAHpB,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAS;QACd,WAAM,GAAN,MAAM,CAAQ;QACd,eAAU,GAAV,UAAU,CAAQ;IAC1B,CAAC;IAEJ,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,GAAa;QACrC,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC/B,OAAO,IAAI,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IAC7E,CAAC;CACF"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Configure the retry logic for http calls.
3
+ * By default, this retries any request that returns a 429 3 times.
4
+ */
5
+ export interface RetryConfiguration {
6
+ /**
7
+ * Configure the usage of retries.
8
+ * Defaults to true on the Management Client and false on the Authentication Client.
9
+ */
10
+ enabled?: boolean;
11
+ /**
12
+ * Configure the max amount of retries the SDK should do.
13
+ * Defaults to 5.
14
+ */
15
+ maxRetries?: number;
16
+ /**
17
+ * Status Codes on which the SDK should trigger retries.
18
+ * Defaults to [429].
19
+ */
20
+ retryWhen?: number[];
21
+ }
22
+ /**
23
+ * @private
24
+ * Function that retries the provided action callback for a configurable amount of time, defaults to 3.
25
+ */
26
+ export declare function retry(action: () => Promise<Response>, { maxRetries, retryWhen }: RetryConfiguration): Promise<Response>;
@@ -1,9 +1,8 @@
1
1
  const MAX_REQUEST_RETRY_JITTER = 250;
2
2
  const MAX_REQUEST_RETRY_DELAY = 10000;
3
- const MIN_REQUEST_RETRY_DELAY = 250;
4
- const DEFAULT_NUMBER_RETRIES = 5;
3
+ const DEFAULT_NUMBER_RETRIES = 3;
5
4
  const MAX_NUMBER_RETRIES = 10;
6
- const BASE_DELAY = 250;
5
+ const BASE_DELAY = 500;
7
6
  /**
8
7
  * @private
9
8
  * Function that returns a random int between a configurable min and max.
@@ -40,7 +39,6 @@ export function retry(action, { maxRetries, retryWhen }) {
40
39
  let wait = BASE_DELAY * Math.pow(2, nrOfTries - 1);
41
40
  wait = getRandomInt(wait + 1, wait + MAX_REQUEST_RETRY_JITTER);
42
41
  wait = Math.min(wait, MAX_REQUEST_RETRY_DELAY);
43
- wait = Math.max(wait, MIN_REQUEST_RETRY_DELAY);
44
42
  await pause(wait);
45
43
  result = await retryAndWait();
46
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../../src/lib/retry.ts"],"names":[],"mappings":"AAEA,MAAM,wBAAwB,GAAG,GAAG,CAAC;AACrC,MAAM,uBAAuB,GAAG,KAAK,CAAC;AACtC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AACpC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,MAAM,UAAU,GAAG,GAAG,CAAC;AAEvB;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,GAAW,EAAE,GAAW;IAC5C,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,wDAAwD;AAChH,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,KAAK,CAAC,KAAa;IAChC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AAC9D,CAAC;AAwBD;;;GAGG;AACH,MAAM,UAAU,KAAK,CACnB,MAA+B,EAC/B,EAAE,UAAU,EAAE,SAAS,EAAsB;IAE7C,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,sBAAsB,CAAC,CAAC;IAC9F,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,MAAM,YAAY,GAAG,KAAK,IAAI,EAAE;QAC9B,IAAI,MAAgB,CAAC;QAErB,MAAM,GAAG,MAAM,MAAM,EAAE,CAAC;QAExB,IAAI,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,SAAS,GAAG,kBAAkB,EAAE;YAClF,SAAS,EAAE,CAAC;YAEZ,IAAI,IAAI,GAAG,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;YACnD,IAAI,GAAG,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,wBAAwB,CAAC,CAAC;YAC/D,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;YAC/C,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;YAE/C,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;YAElB,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;SAC/B;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,OAAO,YAAY,EAAE,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../../src/lib/retry.ts"],"names":[],"mappings":"AAAA,MAAM,wBAAwB,GAAG,GAAG,CAAC;AACrC,MAAM,uBAAuB,GAAG,KAAK,CAAC;AACtC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,MAAM,UAAU,GAAG,GAAG,CAAC;AAEvB;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,GAAW,EAAE,GAAW;IAC5C,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,wDAAwD;AAChH,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,KAAK,CAAC,KAAa;IAChC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AAC9D,CAAC;AAwBD;;;GAGG;AACH,MAAM,UAAU,KAAK,CACnB,MAA+B,EAC/B,EAAE,UAAU,EAAE,SAAS,EAAsB;IAE7C,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,sBAAsB,CAAC,CAAC;IAC9F,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,MAAM,YAAY,GAAG,KAAK,IAAI,EAAE;QAC9B,IAAI,MAAgB,CAAC;QAErB,MAAM,GAAG,MAAM,MAAM,EAAE,CAAC;QAExB,IAAI,CAAC,SAAS,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,SAAS,GAAG,kBAAkB,EAAE;YAClF,SAAS,EAAE,CAAC;YAEZ,IAAI,IAAI,GAAG,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;YACnD,IAAI,GAAG,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,wBAAwB,CAAC,CAAC;YAC/D,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;YAE/C,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;YAElB,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;SAC/B;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,OAAO,YAAY,EAAE,CAAC;AACxB,CAAC"}