auth0 4.0.0-beta.5 → 4.0.0-beta.7

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 (187) hide show
  1. package/README.md +11 -8
  2. package/dist/{types → cjs}/auth/base-auth-api.d.ts +9 -2
  3. package/dist/cjs/auth/base-auth-api.js +47 -6
  4. package/dist/cjs/auth/base-auth-api.js.map +1 -1
  5. package/dist/{types → 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/{types → 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/{types → cjs}/auth/oauth.d.ts +10 -8
  13. package/dist/cjs/auth/oauth.js +8 -35
  14. package/dist/cjs/auth/oauth.js.map +1 -1
  15. package/dist/{types → cjs}/auth/passwordless.d.ts +1 -1
  16. package/dist/cjs/auth/passwordless.js +16 -8
  17. package/dist/cjs/auth/passwordless.js.map +1 -1
  18. package/dist/{types → cjs}/index.d.ts +2 -0
  19. package/dist/cjs/index.js +2 -0
  20. package/dist/cjs/index.js.map +1 -1
  21. package/dist/{types → cjs}/lib/retry.d.ts +1 -1
  22. package/dist/cjs/lib/retry.js +2 -4
  23. package/dist/cjs/lib/retry.js.map +1 -1
  24. package/dist/{types → cjs}/lib/runtime.d.ts +1 -10
  25. package/dist/cjs/lib/runtime.js +3 -23
  26. package/dist/cjs/lib/runtime.js.map +1 -1
  27. package/dist/{types → cjs}/management/__generated/managers/attack-protection-manager.d.ts +0 -8
  28. package/dist/cjs/management/__generated/managers/attack-protection-manager.js +0 -12
  29. package/dist/cjs/management/__generated/managers/attack-protection-manager.js.map +1 -1
  30. package/dist/{types → cjs}/management/__generated/managers/clients-manager.d.ts +66 -11
  31. package/dist/cjs/management/__generated/managers/clients-manager.js +114 -10
  32. package/dist/cjs/management/__generated/managers/clients-manager.js.map +1 -1
  33. package/dist/{types → cjs}/management/__generated/managers/connections-manager.d.ts +16 -0
  34. package/dist/cjs/management/__generated/managers/connections-manager.js +8 -0
  35. package/dist/cjs/management/__generated/managers/connections-manager.js.map +1 -1
  36. package/dist/{types → cjs}/management/__generated/managers/hooks-manager.d.ts +2 -6
  37. package/dist/cjs/management/__generated/managers/hooks-manager.js +2 -2
  38. package/dist/cjs/management/__generated/managers/hooks-manager.js.map +1 -1
  39. package/dist/cjs/management/__generated/managers/jobs-manager.js +1 -1
  40. package/dist/cjs/management/__generated/managers/jobs-manager.js.map +1 -1
  41. package/dist/{types → cjs}/management/__generated/managers/roles-manager.d.ts +3 -3
  42. package/dist/cjs/management/__generated/managers/roles-manager.js +3 -3
  43. package/dist/cjs/management/__generated/managers/roles-manager.js.map +1 -1
  44. package/dist/{types → cjs}/management/__generated/managers/users-manager.d.ts +4 -8
  45. package/dist/cjs/management/__generated/managers/users-manager.js +1 -1
  46. package/dist/cjs/management/__generated/managers/users-manager.js.map +1 -1
  47. package/dist/{types → cjs}/management/__generated/models/index.d.ts +456 -37
  48. package/dist/cjs/management/__generated/models/index.js +73 -11
  49. package/dist/cjs/management/__generated/models/index.js.map +1 -1
  50. package/dist/cjs/userinfo/index.d.ts +55 -0
  51. package/dist/cjs/userinfo/index.js +72 -0
  52. package/dist/cjs/userinfo/index.js.map +1 -0
  53. package/dist/cjs/version.d.ts +1 -0
  54. package/dist/cjs/version.js +1 -1
  55. package/dist/esm/auth/base-auth-api.d.ts +39 -0
  56. package/dist/esm/auth/base-auth-api.js +46 -6
  57. package/dist/esm/auth/base-auth-api.js.map +1 -1
  58. package/dist/esm/auth/client-authentication.d.ts +26 -0
  59. package/dist/esm/auth/client-authentication.js +2 -3
  60. package/dist/esm/auth/client-authentication.js.map +1 -1
  61. package/dist/esm/auth/database.d.ts +157 -0
  62. package/dist/esm/auth/database.js.map +1 -1
  63. package/dist/esm/auth/id-token-validator.d.ts +18 -0
  64. package/dist/esm/auth/id-token-validator.js +14 -4
  65. package/dist/esm/auth/id-token-validator.js.map +1 -1
  66. package/dist/esm/auth/index.d.ts +15 -0
  67. package/dist/esm/auth/oauth.d.ts +297 -0
  68. package/dist/esm/auth/oauth.js +10 -37
  69. package/dist/esm/auth/oauth.js.map +1 -1
  70. package/dist/esm/auth/passwordless.d.ts +165 -0
  71. package/dist/esm/auth/passwordless.js +17 -9
  72. package/dist/esm/auth/passwordless.js.map +1 -1
  73. package/dist/esm/index.d.ts +4 -0
  74. package/dist/esm/index.js +2 -0
  75. package/dist/esm/index.js.map +1 -1
  76. package/dist/esm/lib/errors.d.ts +33 -0
  77. package/dist/esm/lib/index.d.ts +3 -0
  78. package/dist/esm/lib/middleware/telemetry-middleware.d.ts +12 -0
  79. package/dist/esm/lib/models.d.ts +123 -0
  80. package/dist/esm/lib/retry.d.ts +26 -0
  81. package/dist/esm/lib/retry.js +2 -4
  82. package/dist/esm/lib/retry.js.map +1 -1
  83. package/dist/esm/lib/runtime.d.ts +61 -0
  84. package/dist/esm/lib/runtime.js +2 -21
  85. package/dist/esm/lib/runtime.js.map +1 -1
  86. package/dist/esm/management/__generated/index.d.ts +39 -0
  87. package/dist/esm/management/__generated/managers/actions-manager.d.ts +136 -0
  88. package/dist/esm/management/__generated/managers/anomaly-manager.d.ts +24 -0
  89. package/dist/esm/management/__generated/managers/attack-protection-manager.d.ts +58 -0
  90. package/dist/esm/management/__generated/managers/attack-protection-manager.js +0 -12
  91. package/dist/esm/management/__generated/managers/attack-protection-manager.js.map +1 -1
  92. package/dist/esm/management/__generated/managers/blacklists-manager.d.ts +28 -0
  93. package/dist/esm/management/__generated/managers/branding-manager.d.ts +103 -0
  94. package/dist/esm/management/__generated/managers/client-grants-manager.d.ts +42 -0
  95. package/dist/esm/management/__generated/managers/clients-manager.d.ts +168 -0
  96. package/dist/esm/management/__generated/managers/clients-manager.js +114 -10
  97. package/dist/esm/management/__generated/managers/clients-manager.js.map +1 -1
  98. package/dist/esm/management/__generated/managers/connections-manager.d.ts +87 -0
  99. package/dist/esm/management/__generated/managers/connections-manager.js +8 -0
  100. package/dist/esm/management/__generated/managers/connections-manager.js.map +1 -1
  101. package/dist/esm/management/__generated/managers/custom-domains-manager.d.ts +106 -0
  102. package/dist/esm/management/__generated/managers/device-credentials-manager.d.ts +42 -0
  103. package/dist/esm/management/__generated/managers/email-templates-manager.d.ts +38 -0
  104. package/dist/esm/management/__generated/managers/emails-manager.d.ts +40 -0
  105. package/dist/esm/management/__generated/managers/grants-manager.d.ts +34 -0
  106. package/dist/esm/management/__generated/managers/guardian-manager.d.ts +240 -0
  107. package/dist/esm/management/__generated/managers/hooks-manager.d.ts +90 -0
  108. package/dist/esm/management/__generated/managers/hooks-manager.js +2 -2
  109. package/dist/esm/management/__generated/managers/hooks-manager.js.map +1 -1
  110. package/dist/esm/management/__generated/managers/index.d.ts +31 -0
  111. package/dist/esm/management/__generated/managers/jobs-manager.d.ts +47 -0
  112. package/dist/esm/management/__generated/managers/jobs-manager.js +1 -1
  113. package/dist/esm/management/__generated/managers/jobs-manager.js.map +1 -1
  114. package/dist/esm/management/__generated/managers/keys-manager.d.ts +34 -0
  115. package/dist/esm/management/__generated/managers/log-streams-manager.d.ts +326 -0
  116. package/dist/esm/management/__generated/managers/logs-manager.d.ts +56 -0
  117. package/dist/esm/management/__generated/managers/organizations-manager.d.ts +191 -0
  118. package/dist/esm/management/__generated/managers/prompts-manager.d.ts +42 -0
  119. package/dist/esm/management/__generated/managers/resource-servers-manager.d.ts +48 -0
  120. package/dist/esm/management/__generated/managers/roles-manager.d.ts +110 -0
  121. package/dist/esm/management/__generated/managers/roles-manager.js +3 -3
  122. package/dist/esm/management/__generated/managers/roles-manager.js.map +1 -1
  123. package/dist/esm/management/__generated/managers/rules-configs-manager.d.ts +33 -0
  124. package/dist/esm/management/__generated/managers/rules-manager.d.ts +55 -0
  125. package/dist/esm/management/__generated/managers/stats-manager.d.ts +24 -0
  126. package/dist/esm/management/__generated/managers/tenants-manager.d.ts +24 -0
  127. package/dist/esm/management/__generated/managers/tickets-manager.d.ts +24 -0
  128. package/dist/esm/management/__generated/managers/user-blocks-manager.d.ts +45 -0
  129. package/dist/esm/management/__generated/managers/users-by-email-manager.d.ts +22 -0
  130. package/dist/esm/management/__generated/managers/users-manager.d.ts +329 -0
  131. package/dist/esm/management/__generated/managers/users-manager.js +1 -1
  132. package/dist/esm/management/__generated/managers/users-manager.js.map +1 -1
  133. package/dist/esm/management/__generated/models/index.d.ts +13201 -0
  134. package/dist/esm/management/__generated/models/index.js +69 -7
  135. package/dist/esm/management/__generated/models/index.js.map +1 -1
  136. package/dist/esm/management/index.d.ts +3 -0
  137. package/dist/esm/management/management-client-options.d.ts +17 -0
  138. package/dist/esm/management/management-client.d.ts +16 -0
  139. package/dist/esm/management/token-provider-middleware.d.ts +7 -0
  140. package/dist/esm/management/token-provider.d.ts +21 -0
  141. package/dist/esm/userinfo/index.d.ts +55 -0
  142. package/dist/esm/userinfo/index.js +66 -0
  143. package/dist/esm/userinfo/index.js.map +1 -0
  144. package/dist/esm/utils.d.ts +10 -0
  145. package/dist/esm/version.d.ts +1 -0
  146. package/dist/esm/version.js +1 -1
  147. package/package.json +16 -20
  148. package/dist/types/version.d.ts +0 -1
  149. /package/dist/{types → cjs}/auth/id-token-validator.d.ts +0 -0
  150. /package/dist/{types → cjs}/auth/index.d.ts +0 -0
  151. /package/dist/{types → cjs}/lib/errors.d.ts +0 -0
  152. /package/dist/{types → cjs}/lib/index.d.ts +0 -0
  153. /package/dist/{types → cjs}/lib/middleware/telemetry-middleware.d.ts +0 -0
  154. /package/dist/{types → cjs}/lib/models.d.ts +0 -0
  155. /package/dist/{types → cjs}/management/__generated/index.d.ts +0 -0
  156. /package/dist/{types → cjs}/management/__generated/managers/actions-manager.d.ts +0 -0
  157. /package/dist/{types → cjs}/management/__generated/managers/anomaly-manager.d.ts +0 -0
  158. /package/dist/{types → cjs}/management/__generated/managers/blacklists-manager.d.ts +0 -0
  159. /package/dist/{types → cjs}/management/__generated/managers/branding-manager.d.ts +0 -0
  160. /package/dist/{types → cjs}/management/__generated/managers/client-grants-manager.d.ts +0 -0
  161. /package/dist/{types → cjs}/management/__generated/managers/custom-domains-manager.d.ts +0 -0
  162. /package/dist/{types → cjs}/management/__generated/managers/device-credentials-manager.d.ts +0 -0
  163. /package/dist/{types → cjs}/management/__generated/managers/email-templates-manager.d.ts +0 -0
  164. /package/dist/{types → cjs}/management/__generated/managers/emails-manager.d.ts +0 -0
  165. /package/dist/{types → cjs}/management/__generated/managers/grants-manager.d.ts +0 -0
  166. /package/dist/{types → cjs}/management/__generated/managers/guardian-manager.d.ts +0 -0
  167. /package/dist/{types → cjs}/management/__generated/managers/index.d.ts +0 -0
  168. /package/dist/{types → cjs}/management/__generated/managers/jobs-manager.d.ts +0 -0
  169. /package/dist/{types → cjs}/management/__generated/managers/keys-manager.d.ts +0 -0
  170. /package/dist/{types → cjs}/management/__generated/managers/log-streams-manager.d.ts +0 -0
  171. /package/dist/{types → cjs}/management/__generated/managers/logs-manager.d.ts +0 -0
  172. /package/dist/{types → cjs}/management/__generated/managers/organizations-manager.d.ts +0 -0
  173. /package/dist/{types → cjs}/management/__generated/managers/prompts-manager.d.ts +0 -0
  174. /package/dist/{types → cjs}/management/__generated/managers/resource-servers-manager.d.ts +0 -0
  175. /package/dist/{types → cjs}/management/__generated/managers/rules-configs-manager.d.ts +0 -0
  176. /package/dist/{types → cjs}/management/__generated/managers/rules-manager.d.ts +0 -0
  177. /package/dist/{types → cjs}/management/__generated/managers/stats-manager.d.ts +0 -0
  178. /package/dist/{types → cjs}/management/__generated/managers/tenants-manager.d.ts +0 -0
  179. /package/dist/{types → cjs}/management/__generated/managers/tickets-manager.d.ts +0 -0
  180. /package/dist/{types → cjs}/management/__generated/managers/user-blocks-manager.d.ts +0 -0
  181. /package/dist/{types → cjs}/management/__generated/managers/users-by-email-manager.d.ts +0 -0
  182. /package/dist/{types → cjs}/management/index.d.ts +0 -0
  183. /package/dist/{types → cjs}/management/management-client-options.d.ts +0 -0
  184. /package/dist/{types → cjs}/management/management-client.d.ts +0 -0
  185. /package/dist/{types → cjs}/management/token-provider-middleware.d.ts +0 -0
  186. /package/dist/{types → cjs}/management/token-provider.d.ts +0 -0
  187. /package/dist/{types → cjs}/utils.d.ts +0 -0
@@ -1,5 +1,5 @@
1
1
  import { ResponseError } from '../lib/errors.js';
2
- import { BaseAPI } from '../lib/runtime.js';
2
+ import { BaseAPI, JSONApiResponse, } from '../lib/runtime.js';
3
3
  import { addClientAuthentication, } from './client-authentication.js';
4
4
  export class AuthApiError extends Error {
5
5
  constructor(error, error_description, statusCode, body, headers) {
@@ -12,6 +12,20 @@ export class AuthApiError extends Error {
12
12
  this.name = 'AuthApiError';
13
13
  }
14
14
  }
15
+ function parseErrorBody(body) {
16
+ const rawData = JSON.parse(body);
17
+ let data;
18
+ if (rawData.error) {
19
+ data = rawData;
20
+ }
21
+ else {
22
+ data = {
23
+ error: rawData.code,
24
+ error_description: rawData.description,
25
+ };
26
+ }
27
+ return data;
28
+ }
15
29
  async function parseError(response) {
16
30
  // Errors typically have a specific format:
17
31
  // {
@@ -19,9 +33,8 @@ async function parseError(response) {
19
33
  // error_description: 'Bad Request',
20
34
  // }
21
35
  const body = await response.text();
22
- let data;
23
36
  try {
24
- data = JSON.parse(body);
37
+ const data = parseErrorBody(body);
25
38
  return new AuthApiError(data.error, data.error_description, response.status, body, response.headers);
26
39
  }
27
40
  catch (_) {
@@ -30,7 +43,12 @@ async function parseError(response) {
30
43
  }
31
44
  export class BaseAuthAPI extends BaseAPI {
32
45
  constructor(options) {
33
- super({ ...options, baseUrl: `https://${options.domain}`, parseError });
46
+ super({
47
+ ...options,
48
+ baseUrl: `https://${options.domain}`,
49
+ parseError,
50
+ retry: { enabled: false, ...options.retry },
51
+ });
34
52
  this.domain = options.domain;
35
53
  this.clientId = options.clientId;
36
54
  this.clientSecret = options.clientSecret;
@@ -40,11 +58,10 @@ export class BaseAuthAPI extends BaseAPI {
40
58
  /**
41
59
  * @private
42
60
  */
43
- async addClientAuthentication(payload, required) {
61
+ async addClientAuthentication(payload) {
44
62
  return addClientAuthentication({
45
63
  payload,
46
64
  domain: this.domain,
47
- required,
48
65
  clientId: this.clientId,
49
66
  clientSecret: this.clientSecret,
50
67
  clientAssertionSigningKey: this.clientAssertionSigningKey,
@@ -52,4 +69,27 @@ export class BaseAuthAPI extends BaseAPI {
52
69
  });
53
70
  }
54
71
  }
72
+ /**
73
+ * @private
74
+ * Perform an OAuth 2.0 grant.
75
+ */
76
+ export async function grant(grantType, bodyParameters, { idTokenValidateOptions, initOverrides } = {}, clientId, idTokenValidator, request) {
77
+ const response = await request({
78
+ path: '/oauth/token',
79
+ method: 'POST',
80
+ headers: {
81
+ 'Content-Type': 'application/x-www-form-urlencoded',
82
+ },
83
+ body: new URLSearchParams({
84
+ client_id: clientId,
85
+ ...bodyParameters,
86
+ grant_type: grantType,
87
+ }),
88
+ }, initOverrides);
89
+ const res = await JSONApiResponse.fromResponse(response);
90
+ if (res.data.id_token) {
91
+ await idTokenValidator.validate(res.data.id_token, idTokenValidateOptions);
92
+ }
93
+ return res;
94
+ }
55
95
  //# sourceMappingURL=base-auth-api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-auth-api.js","sourceRoot":"","sources":["../../../src/auth/base-auth-api.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAiB,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAEL,uBAAuB,GACxB,MAAM,4BAA4B,CAAC;AAiBpC,MAAM,OAAO,YAAa,SAAQ,KAAK;IAErC,YACS,KAAa,EACb,iBAAyB,EACzB,UAAkB,EAClB,IAAY,EACZ,OAAgB;QAEvB,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,CAAC;QAN3B,UAAK,GAAL,KAAK,CAAQ;QACb,sBAAiB,GAAjB,iBAAiB,CAAQ;QACzB,eAAU,GAAV,UAAU,CAAQ;QAClB,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAS;QANhB,SAAI,GAAG,cAAuB,CAAC;IASxC,CAAC;CACF;AAED,KAAK,UAAU,UAAU,CAAC,QAAkB;IAC1C,2CAA2C;IAC3C,IAAI;IACJ,4BAA4B;IAC5B,uCAAuC;IACvC,IAAI;IAEJ,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,IAA0B,CAAC;IAE/B,IAAI;QACF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAyB,CAAC;QAChD,OAAO,IAAI,YAAY,CACrB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,iBAAiB,EACtB,QAAQ,CAAC,MAAM,EACf,IAAI,EACJ,QAAQ,CAAC,OAAO,CACjB,CAAC;KACH;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,IAAI,aAAa,CACtB,QAAQ,CAAC,MAAM,EACf,IAAI,EACJ,QAAQ,CAAC,OAAO,EAChB,iCAAiC,CAClC,CAAC;KACH;AACH,CAAC;AACD,MAAM,OAAO,WAAY,SAAQ,OAAO;IAOtC,YAAY,OAAoC;QAC9C,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,WAAW,OAAO,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QAExE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC;QACnE,IAAI,CAAC,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IACrE,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,uBAAuB,CACrC,OAAuC,EACvC,QAAiB;QAEjB,OAAO,uBAAuB,CAAC;YAC7B,OAAO;YACP,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ;YACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,yBAAyB,EAAE,IAAI,CAAC,yBAAyB;YACzD,yBAAyB,EAAE,IAAI,CAAC,yBAAyB;SAC1D,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"base-auth-api.js","sourceRoot":"","sources":["../../../src/auth/base-auth-api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ export interface AddClientAuthenticationPayload {
2
+ client_id?: string;
3
+ client_secret?: string;
4
+ client_assertion?: string;
5
+ client_assertion_type?: string;
6
+ [key: string]: any;
7
+ }
8
+ interface AddClientAuthenticationOptions {
9
+ payload: AddClientAuthenticationPayload;
10
+ domain: string;
11
+ clientId: string;
12
+ required?: boolean;
13
+ clientAssertionSigningKey?: string;
14
+ clientAssertionSigningAlg?: string;
15
+ clientSecret?: string;
16
+ }
17
+ /**
18
+ * Adds client authentication, if available, to the provided payload.
19
+ *
20
+ * Adds `client_secret` for Client Secret Post token endpoint auth method (the SDK doesn't use Client Secret Basic)
21
+ * Adds `client_assertion` and `client_assertion_type` for Private Key JWT token endpoint auth method.
22
+ *
23
+ * If `clientAssertionSigningKey` is provided it takes precedent over `clientSecret` .
24
+ */
25
+ export declare const addClientAuthentication: ({ payload, domain, clientId, clientAssertionSigningKey, clientAssertionSigningAlg, clientSecret, }: AddClientAuthenticationOptions) => Promise<Record<string, unknown>>;
26
+ export {};
@@ -8,7 +8,7 @@ import { v4 as uuid } from 'uuid';
8
8
  *
9
9
  * If `clientAssertionSigningKey` is provided it takes precedent over `clientSecret` .
10
10
  */
11
- export const addClientAuthentication = async ({ payload, domain, clientId, required, clientAssertionSigningKey, clientAssertionSigningAlg, clientSecret, }) => {
11
+ export const addClientAuthentication = async ({ payload, domain, clientId, clientAssertionSigningKey, clientAssertionSigningAlg, clientSecret, }) => {
12
12
  const cid = payload.client_id || clientId;
13
13
  if (clientAssertionSigningKey && !payload.client_assertion) {
14
14
  const alg = clientAssertionSigningAlg || 'RS256';
@@ -27,8 +27,7 @@ export const addClientAuthentication = async ({ payload, domain, clientId, requi
27
27
  else if (clientSecret && !payload.client_secret) {
28
28
  payload.client_secret = clientSecret;
29
29
  }
30
- if (required &&
31
- (!payload.client_secret || payload.client_secret.trim().length === 0) &&
30
+ if ((!payload.client_secret || payload.client_secret.trim().length === 0) &&
32
31
  (!payload.client_assertion || payload.client_assertion.trim().length === 0)) {
33
32
  throw new Error('The client_secret or client_assertion field is required.');
34
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client-authentication.js","sourceRoot":"","sources":["../../../src/auth/client-authentication.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;AAoBlC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAAE,EAC5C,OAAO,EACP,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,yBAAyB,EACzB,yBAAyB,EACzB,YAAY,GACmB,EAAoC,EAAE;IACrE,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAC;IAC1C,IAAI,yBAAyB,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE;QAC1D,MAAM,GAAG,GAAG,yBAAyB,IAAI,OAAO,CAAC;QACjD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;QAE1E,OAAO,CAAC,gBAAgB,GAAG,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;aAClD,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC;aAC3B,WAAW,EAAE;aACb,UAAU,CAAC,GAAG,CAAC;aACf,MAAM,CAAC,IAAI,EAAE,CAAC;aACd,SAAS,CAAC,GAAG,CAAC;aACd,WAAW,CAAC,WAAW,MAAM,GAAG,CAAC;aACjC,iBAAiB,CAAC,OAAO,CAAC;aAC1B,IAAI,CAAC,UAAU,CAAC,CAAC;QACpB,OAAO,CAAC,qBAAqB,GAAG,wDAAwD,CAAC;KAC1F;SAAM,IAAI,YAAY,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;QACjD,OAAO,CAAC,aAAa,GAAG,YAAY,CAAC;KACtC;IACD,IACE,QAAQ;QACR,CAAC,CAAC,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;QACrE,CAAC,CAAC,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,EAC3E;QACA,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;KAC7E;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
1
+ {"version":3,"file":"client-authentication.js","sourceRoot":"","sources":["../../../src/auth/client-authentication.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;AAoBlC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAAE,EAC5C,OAAO,EACP,MAAM,EACN,QAAQ,EACR,yBAAyB,EACzB,yBAAyB,EACzB,YAAY,GACmB,EAAoC,EAAE;IACrE,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAC;IAC1C,IAAI,yBAAyB,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE;QAC1D,MAAM,GAAG,GAAG,yBAAyB,IAAI,OAAO,CAAC;QACjD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;QAE1E,OAAO,CAAC,gBAAgB,GAAG,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;aAClD,kBAAkB,CAAC,EAAE,GAAG,EAAE,CAAC;aAC3B,WAAW,EAAE;aACb,UAAU,CAAC,GAAG,CAAC;aACf,MAAM,CAAC,IAAI,EAAE,CAAC;aACd,SAAS,CAAC,GAAG,CAAC;aACd,WAAW,CAAC,WAAW,MAAM,GAAG,CAAC;aACjC,iBAAiB,CAAC,OAAO,CAAC;aAC1B,IAAI,CAAC,UAAU,CAAC,CAAC;QACpB,OAAO,CAAC,qBAAqB,GAAG,wDAAwD,CAAC;KAC1F;SAAM,IAAI,YAAY,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;QACjD,OAAO,CAAC,aAAa,GAAG,YAAY,CAAC;KACtC;IACD,IACE,CAAC,CAAC,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;QACrE,CAAC,CAAC,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,EAC3E;QACA,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;KAC7E;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC"}
@@ -0,0 +1,157 @@
1
+ import { InitOverride, JSONApiResponse, TextApiResponse } from '../lib/models.js';
2
+ import { BaseAuthAPI } from './base-auth-api.js';
3
+ export interface SignUpRequest {
4
+ /**
5
+ * The client_id of your client.
6
+ * Use if you want to override the class's `clientId`
7
+ */
8
+ client_id?: string;
9
+ /**
10
+ * The user's email address.
11
+ */
12
+ email: string;
13
+ /**
14
+ * The user's desired password.
15
+ */
16
+ password: string;
17
+ /**
18
+ * The name of the database configured to your client.
19
+ */
20
+ connection: string;
21
+ /**
22
+ * The user's username. Only valid if the connection requires a username.
23
+ */
24
+ username?: string;
25
+ /**
26
+ * The user's given name(s).
27
+ */
28
+ given_name?: string;
29
+ /**
30
+ * The user's family name(s).
31
+ */
32
+ family_name?: string;
33
+ /**
34
+ * The user's full name.
35
+ */
36
+ name?: string;
37
+ /**
38
+ *The user's nickname.
39
+ */
40
+ nickname?: string;
41
+ /**
42
+ * A URI pointing to the user's picture.
43
+ */
44
+ picture?: string;
45
+ /**
46
+ * The user metadata to be associated with the user. If set, the field must be an object containing no more than ten properties. Property names can have a maximum of 100 characters, and property values must be strings of no more than 500 characters.
47
+ */
48
+ user_metadata?: {
49
+ [key: string]: unknown;
50
+ };
51
+ }
52
+ export interface SignUpResponse {
53
+ /**
54
+ * Email address of the new user.
55
+ */
56
+ email: string;
57
+ /**
58
+ * Indicates whether the email has been verified or not.
59
+ */
60
+ email_verified: boolean;
61
+ /**
62
+ * The server can return `_id`, `id` or `user_id` depending on various factors.
63
+ * For convenience we expose it here as just `id`.
64
+ */
65
+ id: string;
66
+ /**
67
+ * Username of this user.
68
+ */
69
+ username?: string;
70
+ /**
71
+ * The user's given name(s).
72
+ */
73
+ given_name?: string;
74
+ /**
75
+ * The user's family name(s).
76
+ */
77
+ family_name?: string;
78
+ /**
79
+ * The user's full name.
80
+ */
81
+ name?: string;
82
+ /**
83
+ *The user's nickname.
84
+ */
85
+ nickname?: string;
86
+ /**
87
+ * A URI pointing to the user's picture.
88
+ */
89
+ picture?: string;
90
+ /**
91
+ * The user metadata to be associated with the user. If set, the field must be an object containing no more than ten properties. Property names can have a maximum of 100 characters, and property values must be strings of no more than 500 characters.
92
+ */
93
+ user_metadata?: {
94
+ [key: string]: unknown;
95
+ };
96
+ }
97
+ export interface ChangePasswordRequest {
98
+ /**
99
+ * The client_id of your client.
100
+ * Use if you want to override the class's `clientId`
101
+ */
102
+ client_id?: string;
103
+ /**
104
+ * The user's email address.
105
+ */
106
+ email: string;
107
+ /**
108
+ * The name of the database configured to your client.
109
+ */
110
+ connection: string;
111
+ /**
112
+ * The organization_id of the Organization associated with the user.
113
+ */
114
+ organization?: string;
115
+ }
116
+ /**
117
+ * Sign-up and change-password for Database & Active Directory authentication services.
118
+ */
119
+ export declare class Database extends BaseAuthAPI {
120
+ /**
121
+ * Given a user's credentials, and a connection, this endpoint will create a new user using active authentication.
122
+ *
123
+ * This endpoint only works for database connections.
124
+ *
125
+ * See: https://auth0.com/docs/api/authentication#signup
126
+ *
127
+ * @example
128
+ * ```js
129
+ * var data = {
130
+ * email: '{EMAIL}',
131
+ * password: '{PASSWORD}',
132
+ * connection: 'Username-Password-Authentication'
133
+ * };
134
+ *
135
+ * await auth0.database.signUp(data);
136
+ * ```
137
+ */
138
+ signUp(bodyParameters: SignUpRequest, initOverrides?: InitOverride): Promise<JSONApiResponse<SignUpResponse>>;
139
+ /**
140
+ * Given a user's email address and a connection, Auth0 will send a change password email.
141
+ *
142
+ * This endpoint only works for database connections.
143
+ *
144
+ * See: https://auth0.com/docs/api/authentication#change-password
145
+ *
146
+ * @example
147
+ * ```js
148
+ * var data = {
149
+ * email: '{EMAIL}',
150
+ * connection: 'Username-Password-Authentication'
151
+ * };
152
+ *
153
+ * await auth0.database.changePassword(data);
154
+ * ```
155
+ */
156
+ changePassword(bodyParameters: ChangePasswordRequest, initOverrides?: InitOverride): Promise<TextApiResponse>;
157
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../../../src/auth/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,eAAe,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA8GjD;;GAEG;AACH,MAAM,OAAO,QAAS,SAAQ,WAAW;IACvC;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,MAAM,CACV,cAA6B,EAC7B,aAA4B;QAE5B,6FAA6F;QAC7F,6BAA6B,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;QAEnF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC;YACE,IAAI,EAAE,uBAAuB;YAC7B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,cAAc,EAAE;SACtD,EACD,aAAa,CACd,CAAC;QAEF,OAAO,eAAe,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,cAAc,CAClB,cAAqC,EACrC,aAA4B;QAE5B,6BAA6B,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC;YACE,IAAI,EAAE,gCAAgC;YACtC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,cAAc,EAAE;SACtD,EACD,aAAa,CACd,CAAC;QAEF,OAAO,eAAe,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;CACF"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../../src/auth/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,eAAe,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAkHjD;;GAEG;AACH,MAAM,OAAO,QAAS,SAAQ,WAAW;IACvC;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,MAAM,CACV,cAA6B,EAC7B,aAA4B;QAE5B,6FAA6F;QAC7F,6BAA6B,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;QAEnF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC;YACE,IAAI,EAAE,uBAAuB;YAC7B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,cAAc,EAAE;SACtD,EACD,aAAa,CACd,CAAC;QAEF,OAAO,eAAe,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,cAAc,CAClB,cAAqC,EACrC,aAA4B;QAE5B,6BAA6B,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CACjC;YACE,IAAI,EAAE,gCAAgC;YACtC,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,cAAc,EAAE;SACtD,EACD,aAAa,CACd,CAAC;QAEF,OAAO,eAAe,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;CACF"}
@@ -0,0 +1,18 @@
1
+ import { AuthenticationClientOptions } from './base-auth-api.js';
2
+ export declare class IdTokenValidatorError extends Error {
3
+ }
4
+ export interface IDTokenValidateOptions {
5
+ nonce?: string;
6
+ maxAge?: number;
7
+ organization?: string;
8
+ }
9
+ export declare class IDTokenValidator {
10
+ private jwks;
11
+ private alg;
12
+ private audience;
13
+ private issuer;
14
+ private clockTolerance;
15
+ private secret;
16
+ constructor({ domain, clientId, clientSecret, agent, headers, timeoutDuration, idTokenSigningAlg, clockTolerance, }: AuthenticationClientOptions);
17
+ validate(idToken: string, { nonce, maxAge, organization }?: IDTokenValidateOptions): Promise<void>;
18
+ }
@@ -46,11 +46,21 @@ export class IDTokenValidator {
46
46
  }
47
47
  // Organization
48
48
  if (organization) {
49
- if (!payload.org_id || typeof payload.org_id !== 'string') {
50
- throw new IdTokenValidatorError('Organization Id (org_id) claim must be a string present in the ID token');
49
+ if (organization.indexOf('org_') === 0) {
50
+ if (!payload.org_id || typeof payload.org_id !== 'string') {
51
+ throw new Error('Organization Id (org_id) claim must be a string present in the ID token');
52
+ }
53
+ if (payload.org_id !== organization) {
54
+ throw new Error(`Organization Id (org_id) claim value mismatch in the ID token; expected "${organization}", found "${payload.org_id}"'`);
55
+ }
51
56
  }
52
- if (payload.org_id !== organization) {
53
- throw new IdTokenValidatorError(`Organization Id (org_id) claim value mismatch in the ID token; expected "${organization}", found "${payload.org_id}"'`);
57
+ else {
58
+ if (!payload.org_name || typeof payload.org_name !== 'string') {
59
+ throw new Error('Organization Name (org_name) claim must be a string present in the ID token');
60
+ }
61
+ if (payload.org_name !== organization.toLowerCase()) {
62
+ throw new Error(`Organization Name (org_name) claim value mismatch in the ID token; expected "${organization}", found "${payload.org_name}"'`);
63
+ }
54
64
  }
55
65
  }
56
66
  // Time validation (epoch)
@@ -1 +1 @@
1
- {"version":3,"file":"id-token-validator.js","sourceRoot":"","sources":["../../../src/auth/id-token-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"id-token-validator.js","sourceRoot":"","sources":["../../../src/auth/id-token-validator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { AuthenticationClientOptions } from './base-auth-api.js';
2
+ import { Database } from './database.js';
3
+ import { OAuth } from './oauth.js';
4
+ import { Passwordless } from './passwordless.js';
5
+ export * from './database.js';
6
+ export * from './oauth.js';
7
+ export * from './passwordless.js';
8
+ export { IDTokenValidateOptions, IdTokenValidatorError } from './id-token-validator.js';
9
+ export { AuthApiError, AuthenticationClientOptions } from './base-auth-api.js';
10
+ export declare class AuthenticationClient {
11
+ database: Database;
12
+ oauth: OAuth;
13
+ passwordless: Passwordless;
14
+ constructor(options: AuthenticationClientOptions);
15
+ }