@nocobase/plugin-idp-oauth 2.3.0-beta.12 → 2.3.0-beta.14

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 (598) hide show
  1. package/build.config.ts +1 -1
  2. package/dist/externalVersion.js +8 -8
  3. package/dist/node_modules/light-my-request/index.js +2 -2
  4. package/dist/node_modules/light-my-request/node_modules/cookie/dist/index.d.ts +148 -0
  5. package/dist/node_modules/light-my-request/node_modules/cookie/dist/index.js +350 -0
  6. package/dist/node_modules/light-my-request/node_modules/cookie/package.json +47 -0
  7. package/dist/node_modules/light-my-request/package.json +1 -1
  8. package/dist/node_modules/ms/package.json +1 -1
  9. package/dist/node_modules/oidc-provider/README.md +28 -25
  10. package/dist/node_modules/oidc-provider/THIRD-PARTY-NOTICES.md +184 -0
  11. package/dist/node_modules/oidc-provider/lib/actions/authorization/ciba.js +169 -0
  12. package/dist/node_modules/oidc-provider/lib/actions/authorization/claims.js +132 -0
  13. package/dist/node_modules/oidc-provider/lib/actions/authorization/client.js +50 -0
  14. package/dist/node_modules/oidc-provider/lib/actions/authorization/device.js +164 -0
  15. package/dist/node_modules/oidc-provider/lib/actions/authorization/index.js +112 -163
  16. package/dist/node_modules/oidc-provider/lib/actions/authorization/interactions.js +32 -13
  17. package/dist/node_modules/oidc-provider/lib/actions/authorization/process_request_object.js +47 -25
  18. package/dist/node_modules/oidc-provider/lib/actions/authorization/pushed_authorization_requests.js +127 -0
  19. package/dist/node_modules/oidc-provider/lib/actions/authorization/request_parameters.js +188 -0
  20. package/dist/node_modules/oidc-provider/lib/actions/authorization/respond.js +15 -10
  21. package/dist/node_modules/oidc-provider/lib/actions/authorization/response_parameters.js +175 -0
  22. package/dist/node_modules/oidc-provider/lib/actions/authorization/resume.js +8 -4
  23. package/dist/node_modules/oidc-provider/lib/actions/authorization/scopes.js +109 -0
  24. package/dist/node_modules/oidc-provider/lib/actions/authorization/{check_pkce.js → sender_constraints.js} +31 -8
  25. package/dist/node_modules/oidc-provider/lib/actions/authorization/{load_grant.js → session.js} +21 -4
  26. package/dist/node_modules/oidc-provider/lib/actions/challenge.js +6 -1
  27. package/dist/node_modules/oidc-provider/lib/actions/code_verification.js +1 -3
  28. package/dist/node_modules/oidc-provider/lib/actions/credential.js +757 -0
  29. package/dist/node_modules/oidc-provider/lib/actions/discovery.js +11 -2
  30. package/dist/node_modules/oidc-provider/lib/actions/end_session.js +23 -15
  31. package/dist/node_modules/oidc-provider/lib/actions/grants/authorization_code.js +24 -94
  32. package/dist/node_modules/oidc-provider/lib/actions/grants/ciba.js +22 -86
  33. package/dist/node_modules/oidc-provider/lib/actions/grants/client_credentials.js +26 -45
  34. package/dist/node_modules/oidc-provider/lib/actions/grants/device_code.js +23 -83
  35. package/dist/node_modules/oidc-provider/lib/actions/grants/index.js +1 -2
  36. package/dist/node_modules/oidc-provider/lib/actions/grants/pre_authorized_code.js +70 -0
  37. package/dist/node_modules/oidc-provider/lib/actions/grants/refresh_token.js +46 -59
  38. package/dist/node_modules/oidc-provider/lib/actions/index.js +10 -6
  39. package/dist/node_modules/oidc-provider/lib/actions/interaction.js +124 -113
  40. package/dist/node_modules/oidc-provider/lib/actions/introspection.js +137 -141
  41. package/dist/node_modules/oidc-provider/lib/actions/openid_credential_issuer.js +17 -0
  42. package/dist/node_modules/oidc-provider/lib/actions/registration.js +30 -6
  43. package/dist/node_modules/oidc-provider/lib/actions/revocation.js +56 -61
  44. package/dist/node_modules/oidc-provider/lib/actions/token.js +98 -54
  45. package/dist/node_modules/oidc-provider/lib/actions/userinfo.js +24 -102
  46. package/dist/node_modules/oidc-provider/lib/adapters/memory_adapter.js +107 -23
  47. package/dist/node_modules/oidc-provider/lib/consts/client_attributes.js +5 -5
  48. package/dist/node_modules/oidc-provider/lib/consts/jwa.js +3 -3
  49. package/dist/node_modules/oidc-provider/lib/consts/param_list.js +1 -1
  50. package/dist/node_modules/oidc-provider/lib/helpers/_/defaults.js +0 -2
  51. package/dist/node_modules/oidc-provider/lib/helpers/_/is_json_object.js +1 -0
  52. package/dist/node_modules/oidc-provider/lib/helpers/_/merge.js +0 -2
  53. package/dist/node_modules/oidc-provider/lib/helpers/_/omit_by.js +0 -2
  54. package/dist/node_modules/oidc-provider/lib/helpers/_/pick.js +1 -1
  55. package/dist/node_modules/oidc-provider/lib/helpers/_/remove.js +1 -1
  56. package/dist/node_modules/oidc-provider/lib/helpers/add_client.js +0 -1
  57. package/dist/node_modules/oidc-provider/lib/helpers/assert_provider_context.js +5 -0
  58. package/dist/node_modules/oidc-provider/lib/helpers/attention.js +2 -2
  59. package/dist/node_modules/oidc-provider/lib/helpers/challenge.js +29 -42
  60. package/dist/node_modules/oidc-provider/lib/helpers/claims.js +2 -1
  61. package/dist/node_modules/oidc-provider/lib/helpers/client_id_metadata_document.js +131 -62
  62. package/dist/node_modules/oidc-provider/lib/helpers/client_schema.js +46 -24
  63. package/dist/node_modules/oidc-provider/lib/helpers/configuration.js +363 -29
  64. package/dist/node_modules/oidc-provider/lib/helpers/configuration_result.js +84 -0
  65. package/dist/node_modules/oidc-provider/lib/helpers/constant_equals.js +1 -1
  66. package/dist/node_modules/oidc-provider/lib/helpers/defaults.js +3166 -2757
  67. package/dist/node_modules/oidc-provider/lib/helpers/errors.js +52 -34
  68. package/dist/node_modules/oidc-provider/lib/helpers/features.js +6 -8
  69. package/dist/node_modules/oidc-provider/lib/helpers/fetch_request.js +136 -99
  70. package/dist/node_modules/oidc-provider/lib/helpers/filter_claims.js +0 -1
  71. package/dist/node_modules/oidc-provider/lib/helpers/grant_authorization.js +78 -0
  72. package/dist/node_modules/oidc-provider/lib/helpers/grant_common.js +77 -103
  73. package/dist/node_modules/oidc-provider/lib/helpers/grant_refresh_token.js +22 -0
  74. package/dist/node_modules/oidc-provider/lib/helpers/grant_response.js +58 -0
  75. package/dist/node_modules/oidc-provider/lib/helpers/grant_source.js +60 -0
  76. package/dist/node_modules/oidc-provider/lib/helpers/grants.js +33 -0
  77. package/dist/node_modules/oidc-provider/lib/helpers/initialize_adapter.js +4 -2
  78. package/dist/node_modules/oidc-provider/lib/helpers/initialize_app.js +114 -90
  79. package/dist/node_modules/oidc-provider/lib/helpers/initialize_keystore.js +61 -54
  80. package/dist/node_modules/oidc-provider/lib/helpers/interaction_policy/check.js +0 -2
  81. package/dist/node_modules/oidc-provider/lib/helpers/interaction_policy/index.js +3 -1
  82. package/dist/node_modules/oidc-provider/lib/helpers/interaction_policy/prompt.js +3 -4
  83. package/dist/node_modules/oidc-provider/lib/helpers/interaction_policy/prompts/consent.js +2 -5
  84. package/dist/node_modules/oidc-provider/lib/helpers/interaction_policy/prompts/login.js +3 -6
  85. package/dist/node_modules/oidc-provider/lib/helpers/is_valid_scope.js +5 -0
  86. package/dist/node_modules/oidc-provider/lib/helpers/jwt.js +26 -11
  87. package/dist/node_modules/oidc-provider/lib/helpers/keystore.js +2 -4
  88. package/dist/node_modules/oidc-provider/lib/helpers/lru.js +111 -0
  89. package/dist/node_modules/oidc-provider/lib/helpers/nanoid.js +80 -3
  90. package/dist/node_modules/oidc-provider/lib/helpers/normalize_authorization_details.js +54 -0
  91. package/dist/node_modules/oidc-provider/lib/helpers/oidc_context.js +18 -33
  92. package/dist/node_modules/oidc-provider/lib/helpers/params.js +8 -19
  93. package/dist/node_modules/oidc-provider/lib/helpers/pkce.js +5 -5
  94. package/dist/node_modules/oidc-provider/lib/helpers/process_response_types.js +23 -14
  95. package/dist/node_modules/oidc-provider/lib/helpers/re_render_errors.js +4 -6
  96. package/dist/node_modules/oidc-provider/lib/helpers/resolve_resource.js +5 -2
  97. package/dist/node_modules/oidc-provider/lib/helpers/resource_server.js +0 -2
  98. package/dist/node_modules/oidc-provider/lib/helpers/revoke.js +9 -2
  99. package/dist/node_modules/oidc-provider/lib/helpers/router.js +221 -0
  100. package/dist/node_modules/oidc-provider/lib/helpers/sector_validate.js +19 -13
  101. package/dist/node_modules/oidc-provider/lib/helpers/sender_constraints.js +24 -0
  102. package/dist/node_modules/oidc-provider/lib/helpers/set_rt_bindings.js +0 -2
  103. package/dist/node_modules/oidc-provider/lib/helpers/token_find.js +36 -43
  104. package/dist/node_modules/oidc-provider/lib/helpers/user_codes.js +1 -1
  105. package/dist/node_modules/oidc-provider/lib/helpers/validate_dpop.js +40 -21
  106. package/dist/node_modules/oidc-provider/lib/helpers/weak_cache.js +4 -4
  107. package/dist/node_modules/oidc-provider/lib/index.js +1 -3
  108. package/dist/node_modules/oidc-provider/lib/models/access_token.js +42 -17
  109. package/dist/node_modules/oidc-provider/lib/models/authorization_code.js +39 -17
  110. package/dist/node_modules/oidc-provider/lib/models/backchannel_authentication_request.js +37 -15
  111. package/dist/node_modules/oidc-provider/lib/models/base_model.js +42 -21
  112. package/dist/node_modules/oidc-provider/lib/models/base_token.js +5 -3
  113. package/dist/node_modules/oidc-provider/lib/models/client.js +113 -67
  114. package/dist/node_modules/oidc-provider/lib/models/client_credentials.js +30 -9
  115. package/dist/node_modules/oidc-provider/lib/models/device_code.js +40 -17
  116. package/dist/node_modules/oidc-provider/lib/models/formats/index.js +20 -12
  117. package/dist/node_modules/oidc-provider/lib/models/formats/jwt.js +165 -166
  118. package/dist/node_modules/oidc-provider/lib/models/formats/opaque.js +57 -48
  119. package/dist/node_modules/oidc-provider/lib/models/grant.js +1 -9
  120. package/dist/node_modules/oidc-provider/lib/models/id_token.js +13 -14
  121. package/dist/node_modules/oidc-provider/lib/models/index.js +2 -0
  122. package/dist/node_modules/oidc-provider/lib/models/initial_access_token.js +14 -8
  123. package/dist/node_modules/oidc-provider/lib/models/interaction.js +2 -4
  124. package/dist/node_modules/oidc-provider/lib/models/payload.js +33 -0
  125. package/dist/node_modules/oidc-provider/lib/models/pre_authorized_code.js +28 -0
  126. package/dist/node_modules/oidc-provider/lib/models/pushed_authorization_request.js +17 -9
  127. package/dist/node_modules/oidc-provider/lib/models/refresh_token.js +57 -25
  128. package/dist/node_modules/oidc-provider/lib/models/registration_access_token.js +20 -7
  129. package/dist/node_modules/oidc-provider/lib/models/replay_detection.js +1 -3
  130. package/dist/node_modules/oidc-provider/lib/models/session.js +12 -16
  131. package/dist/node_modules/oidc-provider/lib/models/token_helpers.js +79 -0
  132. package/dist/node_modules/oidc-provider/lib/provider.js +50 -23
  133. package/dist/node_modules/oidc-provider/lib/response_modes/index.js +0 -2
  134. package/dist/node_modules/oidc-provider/lib/response_modes/jwt.js +0 -1
  135. package/dist/node_modules/oidc-provider/lib/response_modes/web_message.js +14 -4
  136. package/dist/node_modules/oidc-provider/lib/shared/access_token.js +85 -0
  137. package/dist/node_modules/oidc-provider/lib/shared/assemble_params.js +1 -1
  138. package/dist/node_modules/oidc-provider/lib/shared/attest_client_auth.js +39 -16
  139. package/dist/node_modules/oidc-provider/lib/shared/authorization_error_handler.js +79 -77
  140. package/dist/node_modules/oidc-provider/lib/shared/check_rar.js +13 -28
  141. package/dist/node_modules/oidc-provider/lib/shared/check_resource.js +20 -11
  142. package/dist/node_modules/oidc-provider/lib/shared/client_auth.js +265 -201
  143. package/dist/node_modules/oidc-provider/lib/shared/cors.js +48 -16
  144. package/dist/node_modules/oidc-provider/lib/shared/error_handler.js +13 -4
  145. package/dist/node_modules/oidc-provider/lib/shared/jwt_client_auth.js +9 -3
  146. package/dist/node_modules/oidc-provider/lib/shared/reject_dupes.js +12 -32
  147. package/dist/node_modules/oidc-provider/lib/shared/selective_body.js +54 -14
  148. package/dist/node_modules/oidc-provider/lib/shared/session.js +6 -6
  149. package/dist/node_modules/oidc-provider/lib/shared/set_www_authenticate_header.js +1 -2
  150. package/dist/node_modules/oidc-provider/lib/shared/validate_json_body.js +11 -0
  151. package/dist/node_modules/oidc-provider/lib/views/index.js +43 -14
  152. package/dist/node_modules/oidc-provider/lib/views/interaction.js +62 -144
  153. package/dist/node_modules/oidc-provider/lib/views/layout.js +29 -216
  154. package/dist/node_modules/oidc-provider/lib/views/login.js +14 -23
  155. package/dist/node_modules/{undici/lib/web/fetch/LICENSE → oidc-provider/node_modules/jose/LICENSE.md} +2 -2
  156. package/dist/node_modules/oidc-provider/node_modules/jose/README.md +150 -0
  157. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/index.d.ts +55 -0
  158. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwe/compact/decrypt.d.ts +24 -0
  159. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwe/compact/encrypt.d.ts +40 -0
  160. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwe/flattened/decrypt.d.ts +24 -0
  161. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwe/flattened/encrypt.d.ts +46 -0
  162. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwe/general/decrypt.d.ts +28 -0
  163. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwe/general/encrypt.d.ts +51 -0
  164. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwk/embedded.d.ts +10 -0
  165. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwk/thumbprint.d.ts +15 -0
  166. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwks/local.d.ts +17 -0
  167. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwks/remote.d.ts +94 -0
  168. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jws/compact/sign.d.ts +20 -0
  169. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jws/compact/verify.d.ts +25 -0
  170. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jws/flattened/sign.d.ts +22 -0
  171. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jws/flattened/verify.d.ts +25 -0
  172. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jws/general/sign.d.ts +38 -0
  173. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jws/general/verify.d.ts +29 -0
  174. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwt/decrypt.d.ts +34 -0
  175. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwt/encrypt.d.ts +57 -0
  176. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwt/sign.d.ts +21 -0
  177. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwt/unsecured.d.ts +19 -0
  178. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwt/verify.d.ts +35 -0
  179. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/key/export.d.ts +19 -0
  180. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/key/generate_key_pair.d.ts +33 -0
  181. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/key/generate_secret.d.ts +30 -0
  182. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/key/import.d.ts +67 -0
  183. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/types.d.ts +736 -0
  184. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/util/base64url.d.ts +16 -0
  185. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/util/decode_jwt.d.ts +8 -0
  186. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/util/decode_protected_header.d.ts +10 -0
  187. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/util/errors.d.ts +182 -0
  188. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/index.js +70 -0
  189. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwe/compact/decrypt.js +7 -0
  190. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwe/compact/encrypt.js +26 -0
  191. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwe/flattened/decrypt.js +15 -0
  192. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwe/flattened/encrypt.js +35 -0
  193. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwe/general/decrypt.js +40 -0
  194. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwe/general/encrypt.js +105 -0
  195. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwk/embedded.js +30 -0
  196. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwk/thumbprint.js +55 -0
  197. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwks/local.js +59 -0
  198. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwks/remote.js +101 -0
  199. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jws/compact/sign.js +20 -0
  200. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jws/compact/verify.js +8 -0
  201. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jws/flattened/sign.js +23 -0
  202. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jws/flattened/verify.js +12 -0
  203. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jws/general/sign.js +58 -0
  204. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jws/general/verify.js +48 -0
  205. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwt/decrypt.js +13 -0
  206. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwt/encrypt.js +45 -0
  207. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwt/sign.js +19 -0
  208. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwt/unsecured.js +34 -0
  209. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwt/verify.js +13 -0
  210. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/key/export.js +35 -0
  211. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/key/generate_key_pair.js +35 -0
  212. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/key/generate_secret.js +36 -0
  213. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/key/import.js +53 -0
  214. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/asn1.js +138 -0
  215. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/buffer_utils.js +75 -0
  216. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/content_encryption.js +90 -0
  217. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/deflate.js +40 -0
  218. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/jwe_algorithms.js +116 -0
  219. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/jwe_decrypt.js +187 -0
  220. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/jwe_encrypt.js +75 -0
  221. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/jws_algorithms.js +74 -0
  222. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/jws_sign.js +46 -0
  223. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/jws_verify.js +86 -0
  224. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/jwt_claims_set.js +146 -0
  225. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/key.js +155 -0
  226. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/key_algorithm.js +15 -0
  227. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/key_descriptor.js +9 -0
  228. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/key_management.js +196 -0
  229. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/validate.js +122 -0
  230. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/util/base64url.js +16 -0
  231. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/util/decode_jwt.js +33 -0
  232. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/util/decode_protected_header.js +19 -0
  233. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/util/errors.js +109 -0
  234. package/dist/node_modules/oidc-provider/node_modules/jose/package.json +134 -0
  235. package/dist/node_modules/oidc-provider/node_modules/{jsesc/LICENSE-MIT.txt → koa/LICENSE} +10 -8
  236. package/dist/node_modules/oidc-provider/node_modules/koa/Readme.md +279 -0
  237. package/dist/node_modules/oidc-provider/node_modules/koa/dist/koa.mjs +4 -0
  238. package/dist/node_modules/oidc-provider/node_modules/koa/lib/application.js +344 -0
  239. package/dist/node_modules/oidc-provider/node_modules/koa/lib/context.js +248 -0
  240. package/dist/node_modules/oidc-provider/node_modules/koa/lib/is-stream.js +20 -0
  241. package/dist/node_modules/oidc-provider/node_modules/koa/lib/only.js +9 -0
  242. package/dist/node_modules/oidc-provider/node_modules/koa/lib/request.js +748 -0
  243. package/dist/node_modules/oidc-provider/node_modules/koa/lib/response.js +660 -0
  244. package/dist/node_modules/oidc-provider/node_modules/koa/lib/search-params.js +33 -0
  245. package/dist/node_modules/oidc-provider/node_modules/koa/package.json +73 -0
  246. package/dist/node_modules/oidc-provider/node_modules/media-typer/HISTORY.md +50 -0
  247. package/dist/node_modules/oidc-provider/node_modules/media-typer/LICENSE +22 -0
  248. package/dist/node_modules/oidc-provider/node_modules/media-typer/README.md +93 -0
  249. package/dist/node_modules/oidc-provider/node_modules/media-typer/index.js +143 -0
  250. package/dist/node_modules/oidc-provider/node_modules/media-typer/package.json +33 -0
  251. package/dist/node_modules/oidc-provider/node_modules/mime-db/HISTORY.md +541 -0
  252. package/dist/node_modules/oidc-provider/node_modules/mime-db/LICENSE +23 -0
  253. package/dist/node_modules/oidc-provider/node_modules/mime-db/README.md +109 -0
  254. package/dist/node_modules/oidc-provider/node_modules/mime-db/db.json +9342 -0
  255. package/dist/node_modules/oidc-provider/node_modules/mime-db/index.js +12 -0
  256. package/dist/node_modules/oidc-provider/node_modules/mime-db/package.json +56 -0
  257. package/dist/node_modules/oidc-provider/node_modules/mime-types/HISTORY.md +421 -0
  258. package/dist/node_modules/oidc-provider/node_modules/mime-types/LICENSE +23 -0
  259. package/dist/node_modules/oidc-provider/node_modules/mime-types/README.md +126 -0
  260. package/dist/node_modules/oidc-provider/node_modules/mime-types/index.js +211 -0
  261. package/dist/node_modules/oidc-provider/node_modules/mime-types/mimeScore.js +52 -0
  262. package/dist/node_modules/oidc-provider/node_modules/mime-types/package.json +45 -0
  263. package/dist/node_modules/oidc-provider/node_modules/type-is/HISTORY.md +292 -0
  264. package/dist/node_modules/oidc-provider/node_modules/type-is/LICENSE +23 -0
  265. package/dist/node_modules/oidc-provider/node_modules/type-is/README.md +198 -0
  266. package/dist/node_modules/oidc-provider/node_modules/type-is/index.js +250 -0
  267. package/dist/node_modules/oidc-provider/node_modules/type-is/node_modules/mime-types/HISTORY.md +428 -0
  268. package/dist/node_modules/oidc-provider/node_modules/type-is/node_modules/mime-types/LICENSE +23 -0
  269. package/dist/node_modules/oidc-provider/node_modules/type-is/node_modules/mime-types/README.md +126 -0
  270. package/dist/node_modules/oidc-provider/node_modules/type-is/node_modules/mime-types/index.js +211 -0
  271. package/dist/node_modules/oidc-provider/node_modules/type-is/node_modules/mime-types/mimeScore.js +57 -0
  272. package/dist/node_modules/oidc-provider/node_modules/type-is/node_modules/mime-types/package.json +49 -0
  273. package/dist/node_modules/oidc-provider/node_modules/type-is/package.json +47 -0
  274. package/dist/node_modules/oidc-provider/package.json +5 -42
  275. package/package.json +3 -3
  276. package/dist/node_modules/eta/LICENSE +0 -7
  277. package/dist/node_modules/eta/README.md +0 -185
  278. package/dist/node_modules/eta/dist/core.d.ts +0 -179
  279. package/dist/node_modules/eta/dist/core.d.ts.map +0 -1
  280. package/dist/node_modules/eta/dist/core.js +0 -42
  281. package/dist/node_modules/eta/dist/core.js.map +0 -1
  282. package/dist/node_modules/eta/dist/index.cjs +0 -542
  283. package/dist/node_modules/eta/dist/index.cjs.map +0 -1
  284. package/dist/node_modules/eta/dist/index.d.cts +0 -187
  285. package/dist/node_modules/eta/dist/index.d.cts.map +0 -1
  286. package/dist/node_modules/eta/dist/index.d.mts +0 -187
  287. package/dist/node_modules/eta/dist/index.d.mts.map +0 -1
  288. package/dist/node_modules/eta/dist/index.mjs +0 -512
  289. package/dist/node_modules/eta/dist/index.mjs.map +0 -1
  290. package/dist/node_modules/eta/package.json +0 -75
  291. package/dist/node_modules/oidc-provider/lib/actions/authorization/assign_claims.js +0 -28
  292. package/dist/node_modules/oidc-provider/lib/actions/authorization/assign_defaults.js +0 -17
  293. package/dist/node_modules/oidc-provider/lib/actions/authorization/authenticated_client_id.js +0 -6
  294. package/dist/node_modules/oidc-provider/lib/actions/authorization/backchannel_request_remap_errors.js +0 -17
  295. package/dist/node_modules/oidc-provider/lib/actions/authorization/backchannel_request_response.js +0 -41
  296. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_ciba_context.js +0 -12
  297. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_claims.js +0 -68
  298. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_client.js +0 -21
  299. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_client_grant_type.js +0 -21
  300. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_dpop_jkt.js +0 -35
  301. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_extra_params.js +0 -18
  302. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_id_token_hint.js +0 -23
  303. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_max_age.js +0 -25
  304. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_openid_scope.js +0 -47
  305. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_prompt.js +0 -25
  306. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_redirect_uri.js +0 -41
  307. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_requested_expiry.js +0 -16
  308. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_response_mode.js +0 -54
  309. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_response_type.js +0 -26
  310. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_scope.js +0 -53
  311. package/dist/node_modules/oidc-provider/lib/actions/authorization/ciba_load_account.js +0 -58
  312. package/dist/node_modules/oidc-provider/lib/actions/authorization/ciba_required.js +0 -13
  313. package/dist/node_modules/oidc-provider/lib/actions/authorization/device_authorization_response.js +0 -31
  314. package/dist/node_modules/oidc-provider/lib/actions/authorization/device_user_flow.js +0 -31
  315. package/dist/node_modules/oidc-provider/lib/actions/authorization/device_user_flow_errors.js +0 -37
  316. package/dist/node_modules/oidc-provider/lib/actions/authorization/device_user_flow_response.js +0 -55
  317. package/dist/node_modules/oidc-provider/lib/actions/authorization/interaction_emit.js +0 -9
  318. package/dist/node_modules/oidc-provider/lib/actions/authorization/load_account.js +0 -15
  319. package/dist/node_modules/oidc-provider/lib/actions/authorization/load_pushed_authorization_request.js +0 -36
  320. package/dist/node_modules/oidc-provider/lib/actions/authorization/oauth_required.js +0 -11
  321. package/dist/node_modules/oidc-provider/lib/actions/authorization/oidc_required.js +0 -27
  322. package/dist/node_modules/oidc-provider/lib/actions/authorization/one_redirect_uri_clients.js +0 -20
  323. package/dist/node_modules/oidc-provider/lib/actions/authorization/pushed_authorization_request_remap_errors.js +0 -17
  324. package/dist/node_modules/oidc-provider/lib/actions/authorization/pushed_authorization_request_response.js +0 -65
  325. package/dist/node_modules/oidc-provider/lib/actions/authorization/reject_registration.js +0 -12
  326. package/dist/node_modules/oidc-provider/lib/actions/authorization/reject_request_and_uri.js +0 -12
  327. package/dist/node_modules/oidc-provider/lib/actions/authorization/reject_unsupported.js +0 -33
  328. package/dist/node_modules/oidc-provider/lib/actions/authorization/strip_outside_jar_params.js +0 -19
  329. package/dist/node_modules/oidc-provider/lib/actions/authorization/unsupported_rar.js +0 -9
  330. package/dist/node_modules/oidc-provider/lib/helpers/_/pick_by.js +0 -10
  331. package/dist/node_modules/oidc-provider/lib/models/formats/dynamic.js +0 -21
  332. package/dist/node_modules/oidc-provider/lib/models/mixins/apply.js +0 -4
  333. package/dist/node_modules/oidc-provider/lib/models/mixins/consumable.js +0 -17
  334. package/dist/node_modules/oidc-provider/lib/models/mixins/has_format.js +0 -46
  335. package/dist/node_modules/oidc-provider/lib/models/mixins/has_grant_id.js +0 -12
  336. package/dist/node_modules/oidc-provider/lib/models/mixins/has_grant_type.js +0 -8
  337. package/dist/node_modules/oidc-provider/lib/models/mixins/has_policies.js +0 -38
  338. package/dist/node_modules/oidc-provider/lib/models/mixins/is_attestation_constrained.js +0 -15
  339. package/dist/node_modules/oidc-provider/lib/models/mixins/is_sender_constrained.js +0 -50
  340. package/dist/node_modules/oidc-provider/lib/models/mixins/is_session_bound.js +0 -38
  341. package/dist/node_modules/oidc-provider/lib/models/mixins/set_audience.js +0 -21
  342. package/dist/node_modules/oidc-provider/lib/models/mixins/stores_auth.js +0 -16
  343. package/dist/node_modules/oidc-provider/lib/models/mixins/stores_pkce.js +0 -9
  344. package/dist/node_modules/oidc-provider/lib/shared/conditional_body.js +0 -9
  345. package/dist/node_modules/oidc-provider/node_modules/@koa/router/LICENSE +0 -21
  346. package/dist/node_modules/oidc-provider/node_modules/@koa/router/README.md +0 -1370
  347. package/dist/node_modules/oidc-provider/node_modules/@koa/router/dist/index.d.mts +0 -1003
  348. package/dist/node_modules/oidc-provider/node_modules/@koa/router/dist/index.d.ts +0 -1003
  349. package/dist/node_modules/oidc-provider/node_modules/@koa/router/dist/index.js +0 -1616
  350. package/dist/node_modules/oidc-provider/node_modules/@koa/router/dist/index.mjs +0 -1573
  351. package/dist/node_modules/oidc-provider/node_modules/@koa/router/package.json +0 -122
  352. package/dist/node_modules/oidc-provider/node_modules/http-errors/HISTORY.md +0 -186
  353. package/dist/node_modules/oidc-provider/node_modules/http-errors/LICENSE +0 -23
  354. package/dist/node_modules/oidc-provider/node_modules/http-errors/README.md +0 -169
  355. package/dist/node_modules/oidc-provider/node_modules/http-errors/index.js +0 -290
  356. package/dist/node_modules/oidc-provider/node_modules/http-errors/package.json +0 -54
  357. package/dist/node_modules/oidc-provider/node_modules/jsesc/README.md +0 -422
  358. package/dist/node_modules/oidc-provider/node_modules/jsesc/bin/jsesc +0 -148
  359. package/dist/node_modules/oidc-provider/node_modules/jsesc/jsesc.js +0 -337
  360. package/dist/node_modules/oidc-provider/node_modules/jsesc/man/jsesc.1 +0 -94
  361. package/dist/node_modules/oidc-provider/node_modules/jsesc/package.json +0 -56
  362. package/dist/node_modules/oidc-provider/node_modules/nanoid/LICENSE +0 -20
  363. package/dist/node_modules/oidc-provider/node_modules/nanoid/README.md +0 -38
  364. package/dist/node_modules/oidc-provider/node_modules/nanoid/bin/nanoid.js +0 -55
  365. package/dist/node_modules/oidc-provider/node_modules/nanoid/index.browser.js +0 -29
  366. package/dist/node_modules/oidc-provider/node_modules/nanoid/index.d.ts +0 -106
  367. package/dist/node_modules/oidc-provider/node_modules/nanoid/index.js +0 -47
  368. package/dist/node_modules/oidc-provider/node_modules/nanoid/nanoid.js +0 -1
  369. package/dist/node_modules/oidc-provider/node_modules/nanoid/non-secure/index.d.ts +0 -48
  370. package/dist/node_modules/oidc-provider/node_modules/nanoid/non-secure/index.js +0 -21
  371. package/dist/node_modules/oidc-provider/node_modules/nanoid/package.json +0 -46
  372. package/dist/node_modules/oidc-provider/node_modules/nanoid/url-alphabet/index.js +0 -2
  373. package/dist/node_modules/oidc-provider/node_modules/path-to-regexp/LICENSE +0 -21
  374. package/dist/node_modules/oidc-provider/node_modules/path-to-regexp/Readme.md +0 -224
  375. package/dist/node_modules/oidc-provider/node_modules/path-to-regexp/dist/index.d.ts +0 -147
  376. package/dist/node_modules/oidc-provider/node_modules/path-to-regexp/dist/index.js +0 -431
  377. package/dist/node_modules/oidc-provider/node_modules/path-to-regexp/dist/index.js.map +0 -1
  378. package/dist/node_modules/oidc-provider/node_modules/path-to-regexp/package.json +0 -64
  379. package/dist/node_modules/quick-lru/index.d.ts +0 -178
  380. package/dist/node_modules/quick-lru/index.js +0 -329
  381. package/dist/node_modules/quick-lru/license +0 -9
  382. package/dist/node_modules/quick-lru/package.json +0 -54
  383. package/dist/node_modules/quick-lru/readme.md +0 -236
  384. package/dist/node_modules/statuses/HISTORY.md +0 -87
  385. package/dist/node_modules/statuses/LICENSE +0 -23
  386. package/dist/node_modules/statuses/README.md +0 -139
  387. package/dist/node_modules/statuses/codes.json +0 -65
  388. package/dist/node_modules/statuses/index.js +0 -146
  389. package/dist/node_modules/statuses/package.json +0 -49
  390. package/dist/node_modules/undici/LICENSE +0 -21
  391. package/dist/node_modules/undici/README.md +0 -741
  392. package/dist/node_modules/undici/docs/docs/api/Agent.md +0 -84
  393. package/dist/node_modules/undici/docs/docs/api/BalancedPool.md +0 -99
  394. package/dist/node_modules/undici/docs/docs/api/CacheStorage.md +0 -30
  395. package/dist/node_modules/undici/docs/docs/api/CacheStore.md +0 -164
  396. package/dist/node_modules/undici/docs/docs/api/Client.md +0 -285
  397. package/dist/node_modules/undici/docs/docs/api/ClientStats.md +0 -27
  398. package/dist/node_modules/undici/docs/docs/api/Connector.md +0 -115
  399. package/dist/node_modules/undici/docs/docs/api/ContentType.md +0 -57
  400. package/dist/node_modules/undici/docs/docs/api/Cookies.md +0 -101
  401. package/dist/node_modules/undici/docs/docs/api/Debug.md +0 -62
  402. package/dist/node_modules/undici/docs/docs/api/DiagnosticsChannel.md +0 -315
  403. package/dist/node_modules/undici/docs/docs/api/Dispatcher.md +0 -1392
  404. package/dist/node_modules/undici/docs/docs/api/EnvHttpProxyAgent.md +0 -159
  405. package/dist/node_modules/undici/docs/docs/api/Errors.md +0 -49
  406. package/dist/node_modules/undici/docs/docs/api/EventSource.md +0 -45
  407. package/dist/node_modules/undici/docs/docs/api/Fetch.md +0 -60
  408. package/dist/node_modules/undici/docs/docs/api/GlobalInstallation.md +0 -139
  409. package/dist/node_modules/undici/docs/docs/api/H2CClient.md +0 -263
  410. package/dist/node_modules/undici/docs/docs/api/MockAgent.md +0 -603
  411. package/dist/node_modules/undici/docs/docs/api/MockCallHistory.md +0 -197
  412. package/dist/node_modules/undici/docs/docs/api/MockCallHistoryLog.md +0 -43
  413. package/dist/node_modules/undici/docs/docs/api/MockClient.md +0 -81
  414. package/dist/node_modules/undici/docs/docs/api/MockErrors.md +0 -12
  415. package/dist/node_modules/undici/docs/docs/api/MockPool.md +0 -555
  416. package/dist/node_modules/undici/docs/docs/api/Pool.md +0 -84
  417. package/dist/node_modules/undici/docs/docs/api/PoolStats.md +0 -35
  418. package/dist/node_modules/undici/docs/docs/api/ProxyAgent.md +0 -229
  419. package/dist/node_modules/undici/docs/docs/api/RedirectHandler.md +0 -93
  420. package/dist/node_modules/undici/docs/docs/api/RetryAgent.md +0 -50
  421. package/dist/node_modules/undici/docs/docs/api/RetryHandler.md +0 -118
  422. package/dist/node_modules/undici/docs/docs/api/RoundRobinPool.md +0 -145
  423. package/dist/node_modules/undici/docs/docs/api/SnapshotAgent.md +0 -616
  424. package/dist/node_modules/undici/docs/docs/api/Socks5ProxyAgent.md +0 -274
  425. package/dist/node_modules/undici/docs/docs/api/Util.md +0 -25
  426. package/dist/node_modules/undici/docs/docs/api/WebSocket.md +0 -141
  427. package/dist/node_modules/undici/docs/docs/api/api-lifecycle.md +0 -91
  428. package/dist/node_modules/undici/docs/docs/best-practices/client-certificate.md +0 -64
  429. package/dist/node_modules/undici/docs/docs/best-practices/crawling.md +0 -58
  430. package/dist/node_modules/undici/docs/docs/best-practices/mocking-request.md +0 -190
  431. package/dist/node_modules/undici/docs/docs/best-practices/proxy.md +0 -127
  432. package/dist/node_modules/undici/docs/docs/best-practices/undici-vs-builtin-fetch.md +0 -224
  433. package/dist/node_modules/undici/docs/docs/best-practices/writing-tests.md +0 -63
  434. package/dist/node_modules/undici/index-fetch.js +0 -65
  435. package/dist/node_modules/undici/index.d.ts +0 -3
  436. package/dist/node_modules/undici/index.js +0 -234
  437. package/dist/node_modules/undici/lib/api/abort-signal.js +0 -59
  438. package/dist/node_modules/undici/lib/api/api-connect.js +0 -110
  439. package/dist/node_modules/undici/lib/api/api-pipeline.js +0 -252
  440. package/dist/node_modules/undici/lib/api/api-request.js +0 -214
  441. package/dist/node_modules/undici/lib/api/api-stream.js +0 -209
  442. package/dist/node_modules/undici/lib/api/api-upgrade.js +0 -111
  443. package/dist/node_modules/undici/lib/api/index.js +0 -7
  444. package/dist/node_modules/undici/lib/api/readable.js +0 -580
  445. package/dist/node_modules/undici/lib/cache/memory-cache-store.js +0 -234
  446. package/dist/node_modules/undici/lib/cache/sqlite-cache-store.js +0 -461
  447. package/dist/node_modules/undici/lib/core/connect.js +0 -137
  448. package/dist/node_modules/undici/lib/core/constants.js +0 -143
  449. package/dist/node_modules/undici/lib/core/diagnostics.js +0 -227
  450. package/dist/node_modules/undici/lib/core/errors.js +0 -477
  451. package/dist/node_modules/undici/lib/core/request.js +0 -438
  452. package/dist/node_modules/undici/lib/core/socks5-client.js +0 -407
  453. package/dist/node_modules/undici/lib/core/socks5-utils.js +0 -203
  454. package/dist/node_modules/undici/lib/core/symbols.js +0 -75
  455. package/dist/node_modules/undici/lib/core/tree.js +0 -160
  456. package/dist/node_modules/undici/lib/core/util.js +0 -992
  457. package/dist/node_modules/undici/lib/dispatcher/agent.js +0 -158
  458. package/dist/node_modules/undici/lib/dispatcher/balanced-pool.js +0 -219
  459. package/dist/node_modules/undici/lib/dispatcher/client-h1.js +0 -1610
  460. package/dist/node_modules/undici/lib/dispatcher/client-h2.js +0 -995
  461. package/dist/node_modules/undici/lib/dispatcher/client.js +0 -659
  462. package/dist/node_modules/undici/lib/dispatcher/dispatcher-base.js +0 -165
  463. package/dist/node_modules/undici/lib/dispatcher/dispatcher.js +0 -48
  464. package/dist/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +0 -146
  465. package/dist/node_modules/undici/lib/dispatcher/fixed-queue.js +0 -135
  466. package/dist/node_modules/undici/lib/dispatcher/h2c-client.js +0 -51
  467. package/dist/node_modules/undici/lib/dispatcher/pool-base.js +0 -214
  468. package/dist/node_modules/undici/lib/dispatcher/pool.js +0 -118
  469. package/dist/node_modules/undici/lib/dispatcher/proxy-agent.js +0 -318
  470. package/dist/node_modules/undici/lib/dispatcher/retry-agent.js +0 -35
  471. package/dist/node_modules/undici/lib/dispatcher/round-robin-pool.js +0 -137
  472. package/dist/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js +0 -249
  473. package/dist/node_modules/undici/lib/encoding/index.js +0 -33
  474. package/dist/node_modules/undici/lib/global.js +0 -50
  475. package/dist/node_modules/undici/lib/handler/cache-handler.js +0 -578
  476. package/dist/node_modules/undici/lib/handler/cache-revalidation-handler.js +0 -124
  477. package/dist/node_modules/undici/lib/handler/decorator-handler.js +0 -67
  478. package/dist/node_modules/undici/lib/handler/deduplication-handler.js +0 -460
  479. package/dist/node_modules/undici/lib/handler/redirect-handler.js +0 -238
  480. package/dist/node_modules/undici/lib/handler/retry-handler.js +0 -394
  481. package/dist/node_modules/undici/lib/handler/unwrap-handler.js +0 -100
  482. package/dist/node_modules/undici/lib/handler/wrap-handler.js +0 -105
  483. package/dist/node_modules/undici/lib/interceptor/cache.js +0 -495
  484. package/dist/node_modules/undici/lib/interceptor/decompress.js +0 -259
  485. package/dist/node_modules/undici/lib/interceptor/deduplicate.js +0 -117
  486. package/dist/node_modules/undici/lib/interceptor/dns.js +0 -571
  487. package/dist/node_modules/undici/lib/interceptor/dump.js +0 -112
  488. package/dist/node_modules/undici/lib/interceptor/redirect.js +0 -21
  489. package/dist/node_modules/undici/lib/interceptor/response-error.js +0 -95
  490. package/dist/node_modules/undici/lib/interceptor/retry.js +0 -19
  491. package/dist/node_modules/undici/lib/llhttp/.gitkeep +0 -0
  492. package/dist/node_modules/undici/lib/llhttp/constants.d.ts +0 -195
  493. package/dist/node_modules/undici/lib/llhttp/constants.js +0 -531
  494. package/dist/node_modules/undici/lib/llhttp/llhttp-wasm.js +0 -15
  495. package/dist/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +0 -15
  496. package/dist/node_modules/undici/lib/llhttp/utils.d.ts +0 -2
  497. package/dist/node_modules/undici/lib/llhttp/utils.js +0 -12
  498. package/dist/node_modules/undici/lib/mock/mock-agent.js +0 -232
  499. package/dist/node_modules/undici/lib/mock/mock-call-history.js +0 -248
  500. package/dist/node_modules/undici/lib/mock/mock-client.js +0 -68
  501. package/dist/node_modules/undici/lib/mock/mock-errors.js +0 -29
  502. package/dist/node_modules/undici/lib/mock/mock-interceptor.js +0 -209
  503. package/dist/node_modules/undici/lib/mock/mock-pool.js +0 -68
  504. package/dist/node_modules/undici/lib/mock/mock-symbols.js +0 -32
  505. package/dist/node_modules/undici/lib/mock/mock-utils.js +0 -486
  506. package/dist/node_modules/undici/lib/mock/pending-interceptors-formatter.js +0 -43
  507. package/dist/node_modules/undici/lib/mock/snapshot-agent.js +0 -353
  508. package/dist/node_modules/undici/lib/mock/snapshot-recorder.js +0 -588
  509. package/dist/node_modules/undici/lib/mock/snapshot-utils.js +0 -158
  510. package/dist/node_modules/undici/lib/util/cache.js +0 -407
  511. package/dist/node_modules/undici/lib/util/date.js +0 -653
  512. package/dist/node_modules/undici/lib/util/promise.js +0 -28
  513. package/dist/node_modules/undici/lib/util/runtime-features.js +0 -124
  514. package/dist/node_modules/undici/lib/util/stats.js +0 -32
  515. package/dist/node_modules/undici/lib/util/timers.js +0 -425
  516. package/dist/node_modules/undici/lib/web/cache/cache.js +0 -864
  517. package/dist/node_modules/undici/lib/web/cache/cachestorage.js +0 -152
  518. package/dist/node_modules/undici/lib/web/cache/util.js +0 -45
  519. package/dist/node_modules/undici/lib/web/cookies/constants.js +0 -12
  520. package/dist/node_modules/undici/lib/web/cookies/index.js +0 -199
  521. package/dist/node_modules/undici/lib/web/cookies/parse.js +0 -322
  522. package/dist/node_modules/undici/lib/web/cookies/util.js +0 -282
  523. package/dist/node_modules/undici/lib/web/eventsource/eventsource-stream.js +0 -399
  524. package/dist/node_modules/undici/lib/web/eventsource/eventsource.js +0 -501
  525. package/dist/node_modules/undici/lib/web/eventsource/util.js +0 -29
  526. package/dist/node_modules/undici/lib/web/fetch/body.js +0 -509
  527. package/dist/node_modules/undici/lib/web/fetch/constants.js +0 -131
  528. package/dist/node_modules/undici/lib/web/fetch/data-url.js +0 -596
  529. package/dist/node_modules/undici/lib/web/fetch/formdata-parser.js +0 -575
  530. package/dist/node_modules/undici/lib/web/fetch/formdata.js +0 -259
  531. package/dist/node_modules/undici/lib/web/fetch/global.js +0 -40
  532. package/dist/node_modules/undici/lib/web/fetch/headers.js +0 -719
  533. package/dist/node_modules/undici/lib/web/fetch/index.js +0 -2397
  534. package/dist/node_modules/undici/lib/web/fetch/request.js +0 -1115
  535. package/dist/node_modules/undici/lib/web/fetch/response.js +0 -641
  536. package/dist/node_modules/undici/lib/web/fetch/util.js +0 -1520
  537. package/dist/node_modules/undici/lib/web/infra/index.js +0 -229
  538. package/dist/node_modules/undici/lib/web/subresource-integrity/Readme.md +0 -9
  539. package/dist/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +0 -307
  540. package/dist/node_modules/undici/lib/web/webidl/index.js +0 -1006
  541. package/dist/node_modules/undici/lib/web/websocket/connection.js +0 -329
  542. package/dist/node_modules/undici/lib/web/websocket/constants.js +0 -126
  543. package/dist/node_modules/undici/lib/web/websocket/events.js +0 -331
  544. package/dist/node_modules/undici/lib/web/websocket/frame.js +0 -133
  545. package/dist/node_modules/undici/lib/web/websocket/permessage-deflate.js +0 -118
  546. package/dist/node_modules/undici/lib/web/websocket/receiver.js +0 -450
  547. package/dist/node_modules/undici/lib/web/websocket/sender.js +0 -109
  548. package/dist/node_modules/undici/lib/web/websocket/stream/websocketerror.js +0 -104
  549. package/dist/node_modules/undici/lib/web/websocket/stream/websocketstream.js +0 -497
  550. package/dist/node_modules/undici/lib/web/websocket/util.js +0 -347
  551. package/dist/node_modules/undici/lib/web/websocket/websocket.js +0 -751
  552. package/dist/node_modules/undici/package.json +0 -152
  553. package/dist/node_modules/undici/scripts/strip-comments.js +0 -10
  554. package/dist/node_modules/undici/types/README.md +0 -6
  555. package/dist/node_modules/undici/types/agent.d.ts +0 -32
  556. package/dist/node_modules/undici/types/api.d.ts +0 -43
  557. package/dist/node_modules/undici/types/balanced-pool.d.ts +0 -30
  558. package/dist/node_modules/undici/types/cache-interceptor.d.ts +0 -179
  559. package/dist/node_modules/undici/types/cache.d.ts +0 -36
  560. package/dist/node_modules/undici/types/client-stats.d.ts +0 -15
  561. package/dist/node_modules/undici/types/client.d.ts +0 -123
  562. package/dist/node_modules/undici/types/connector.d.ts +0 -36
  563. package/dist/node_modules/undici/types/content-type.d.ts +0 -21
  564. package/dist/node_modules/undici/types/cookies.d.ts +0 -30
  565. package/dist/node_modules/undici/types/diagnostics-channel.d.ts +0 -74
  566. package/dist/node_modules/undici/types/dispatcher.d.ts +0 -273
  567. package/dist/node_modules/undici/types/env-http-proxy-agent.d.ts +0 -22
  568. package/dist/node_modules/undici/types/errors.d.ts +0 -177
  569. package/dist/node_modules/undici/types/eventsource.d.ts +0 -66
  570. package/dist/node_modules/undici/types/fetch.d.ts +0 -231
  571. package/dist/node_modules/undici/types/formdata.d.ts +0 -114
  572. package/dist/node_modules/undici/types/global-dispatcher.d.ts +0 -9
  573. package/dist/node_modules/undici/types/global-origin.d.ts +0 -7
  574. package/dist/node_modules/undici/types/h2c-client.d.ts +0 -73
  575. package/dist/node_modules/undici/types/handlers.d.ts +0 -14
  576. package/dist/node_modules/undici/types/header.d.ts +0 -160
  577. package/dist/node_modules/undici/types/index.d.ts +0 -91
  578. package/dist/node_modules/undici/types/interceptors.d.ts +0 -80
  579. package/dist/node_modules/undici/types/mock-agent.d.ts +0 -68
  580. package/dist/node_modules/undici/types/mock-call-history.d.ts +0 -111
  581. package/dist/node_modules/undici/types/mock-client.d.ts +0 -27
  582. package/dist/node_modules/undici/types/mock-errors.d.ts +0 -12
  583. package/dist/node_modules/undici/types/mock-interceptor.d.ts +0 -94
  584. package/dist/node_modules/undici/types/mock-pool.d.ts +0 -27
  585. package/dist/node_modules/undici/types/patch.d.ts +0 -29
  586. package/dist/node_modules/undici/types/pool-stats.d.ts +0 -19
  587. package/dist/node_modules/undici/types/pool.d.ts +0 -41
  588. package/dist/node_modules/undici/types/proxy-agent.d.ts +0 -29
  589. package/dist/node_modules/undici/types/readable.d.ts +0 -68
  590. package/dist/node_modules/undici/types/retry-agent.d.ts +0 -8
  591. package/dist/node_modules/undici/types/retry-handler.d.ts +0 -125
  592. package/dist/node_modules/undici/types/round-robin-pool.d.ts +0 -41
  593. package/dist/node_modules/undici/types/snapshot-agent.d.ts +0 -109
  594. package/dist/node_modules/undici/types/socks5-proxy-agent.d.ts +0 -25
  595. package/dist/node_modules/undici/types/util.d.ts +0 -18
  596. package/dist/node_modules/undici/types/utility.d.ts +0 -7
  597. package/dist/node_modules/undici/types/webidl.d.ts +0 -347
  598. package/dist/node_modules/undici/types/websocket.d.ts +0 -188
@@ -1,23 +1,16 @@
1
- import apply from './mixins/apply.js';
2
- import hasFormat from './mixins/has_format.js';
3
- import hasGrantType from './mixins/has_grant_type.js';
4
- import hasGrantId from './mixins/has_grant_id.js';
5
- import isSenderConstrained from './mixins/is_sender_constrained.js';
6
- import isSessionBound from './mixins/is_session_bound.js';
7
- import setAudience from './mixins/set_audience.js';
8
-
9
- export default (provider) => class AccessToken extends apply([
10
- hasGrantType,
11
- hasGrantId,
12
- isSenderConstrained,
13
- isSessionBound(provider),
14
- setAudience,
15
- hasFormat(provider, 'AccessToken', provider.BaseToken),
16
- ]) {
1
+ import { generateTokenId, getValueAndPayload } from './formats/index.js';
2
+ import { checkSessionBinding, setThumbprint, setAudience } from './token_helpers.js';
3
+
4
+ export default (provider) => class AccessToken extends provider.BaseToken {
17
5
  static get IN_PAYLOAD() {
18
6
  return [
19
7
  ...super.IN_PAYLOAD,
20
-
8
+ 'gty',
9
+ 'grantId',
10
+ 'x5t#S256',
11
+ 'jkt',
12
+ 'sessionUid',
13
+ 'expiresWithSession',
21
14
  'accountId',
22
15
  'aud',
23
16
  'rar',
@@ -28,4 +21,36 @@ export default (provider) => class AccessToken extends apply([
28
21
  'sid',
29
22
  ];
30
23
  }
24
+
25
+ static async find(...args) {
26
+ return checkSessionBinding(provider, await super.find(...args), args[1]);
27
+ }
28
+
29
+ static async revokeByGrantId(grantId) {
30
+ await this.adapter.revokeByGrantId(grantId);
31
+ }
32
+
33
+ setThumbprint(prop, input) {
34
+ setThumbprint(this, prop, input);
35
+ }
36
+
37
+ isSenderConstrained() {
38
+ return !!(this.jkt || this['x5t#S256']);
39
+ }
40
+
41
+ get tokenType() {
42
+ return this.jkt ? 'DPoP' : 'Bearer';
43
+ }
44
+
45
+ setAudience(audience) {
46
+ setAudience(this, audience);
47
+ }
48
+
49
+ generateTokenId() {
50
+ return generateTokenId(provider, this);
51
+ }
52
+
53
+ async getValueAndPayload() {
54
+ return getValueAndPayload(provider, this);
55
+ }
31
56
  };
@@ -1,27 +1,49 @@
1
- import apply from './mixins/apply.js';
2
- import consumable from './mixins/consumable.js';
3
- import hasFormat from './mixins/has_format.js';
4
- import hasGrantId from './mixins/has_grant_id.js';
5
- import isAttestationConstrained from './mixins/is_attestation_constrained.js';
6
- import isSessionBound from './mixins/is_session_bound.js';
7
- import storesAuth from './mixins/stores_auth.js';
8
- import storesPKCE from './mixins/stores_pkce.js';
1
+ import { checkSessionBinding, setAttestBinding } from './token_helpers.js';
9
2
 
10
- export default (provider) => class AuthorizationCode extends apply([
11
- consumable,
12
- isSessionBound(provider),
13
- hasGrantId,
14
- isAttestationConstrained,
15
- storesAuth,
16
- storesPKCE,
17
- hasFormat(provider, 'AuthorizationCode', provider.BaseToken),
18
- ]) {
3
+ export default (provider) => class AuthorizationCode extends provider.BaseToken {
19
4
  static get IN_PAYLOAD() {
20
5
  return [
21
6
  ...super.IN_PAYLOAD,
7
+ 'consumed',
8
+ 'sessionUid',
9
+ 'expiresWithSession',
10
+ 'grantId',
11
+ 'attestationJkt',
12
+ 'accountId',
13
+ 'acr',
14
+ 'amr',
15
+ 'authTime',
16
+ 'claims',
17
+ 'nonce',
18
+ 'resource',
19
+ 'scope',
20
+ 'sid',
21
+ 'codeChallenge',
22
+ 'codeChallengeMethod',
22
23
  'redirectUri',
23
24
  'dpopJkt',
24
25
  'rar',
25
26
  ];
26
27
  }
28
+
29
+ async consume() {
30
+ await this.adapter.consume(this.jti);
31
+ this.emit('consumed');
32
+ }
33
+
34
+ get isValid() {
35
+ return !this.consumed && !this.isExpired;
36
+ }
37
+
38
+ static async find(...args) {
39
+ return checkSessionBinding(provider, await super.find(...args), args[1]);
40
+ }
41
+
42
+ static async revokeByGrantId(grantId) {
43
+ await this.adapter.revokeByGrantId(grantId);
44
+ }
45
+
46
+ async setAttestBinding(ctx) {
47
+ await setAttestBinding(this, ctx);
48
+ }
27
49
  };
@@ -1,26 +1,48 @@
1
- import apply from './mixins/apply.js';
2
- import consumable from './mixins/consumable.js';
3
- import hasFormat from './mixins/has_format.js';
4
- import hasGrantId from './mixins/has_grant_id.js';
5
- import isAttestationConstrained from './mixins/is_attestation_constrained.js';
6
- import isSessionBound from './mixins/is_session_bound.js';
7
- import storesAuth from './mixins/stores_auth.js';
1
+ import { checkSessionBinding, setAttestBinding } from './token_helpers.js';
8
2
 
9
- export default (provider) => class BackchannelAuthenticationRequest extends apply([
10
- consumable,
11
- hasGrantId,
12
- isAttestationConstrained,
13
- isSessionBound(provider),
14
- storesAuth,
15
- hasFormat(provider, 'BackchannelAuthenticationRequest', provider.BaseToken),
16
- ]) {
3
+ export default (provider) => class BackchannelAuthenticationRequest extends provider.BaseToken {
17
4
  static get IN_PAYLOAD() {
18
5
  return [
19
6
  ...super.IN_PAYLOAD,
7
+ 'consumed',
8
+ 'grantId',
9
+ 'attestationJkt',
10
+ 'sessionUid',
11
+ 'expiresWithSession',
12
+ 'accountId',
13
+ 'acr',
14
+ 'amr',
15
+ 'authTime',
16
+ 'claims',
17
+ 'nonce',
18
+ 'resource',
19
+ 'scope',
20
+ 'sid',
20
21
  'error',
21
22
  'errorDescription',
22
23
  'params',
23
24
  'rar',
24
25
  ];
25
26
  }
27
+
28
+ async consume() {
29
+ await this.adapter.consume(this.jti);
30
+ this.emit('consumed');
31
+ }
32
+
33
+ get isValid() {
34
+ return !this.consumed && !this.isExpired;
35
+ }
36
+
37
+ static async find(...args) {
38
+ return checkSessionBinding(provider, await super.find(...args), args[1]);
39
+ }
40
+
41
+ static async revokeByGrantId(grantId) {
42
+ await this.adapter.revokeByGrantId(grantId);
43
+ }
44
+
45
+ async setAttestBinding(ctx) {
46
+ await setAttestBinding(this, ctx);
47
+ }
26
48
  };
@@ -1,12 +1,10 @@
1
- /* eslint-disable max-classes-per-file */
2
-
3
1
  import snakeCase from '../helpers/_/snake_case.js';
4
2
  import epochTime from '../helpers/epoch_time.js';
5
- import pickBy from '../helpers/_/pick_by.js';
6
- import instance from '../helpers/weak_cache.js';
7
3
  import isConstructable from '../helpers/type_validators.js';
4
+ import instance from '../helpers/weak_cache.js';
8
5
 
9
- import hasFormat from './mixins/has_format.js';
6
+ import * as opaque from './formats/opaque.js';
7
+ import pickPayload from './payload.js';
10
8
 
11
9
  const IN_PAYLOAD = [
12
10
  'iat',
@@ -32,12 +30,25 @@ export default function getBaseModel(provider) {
32
30
  return adapterCache.get(obj);
33
31
  }
34
32
 
35
- class Class {
36
- constructor({ jti, kind, ...payload } = {}) {
37
- Object.assign(this, pickBy(
38
- payload,
39
- (val, key) => this.constructor.IN_PAYLOAD.includes(key),
40
- ));
33
+ class BaseModel {
34
+ constructor(input = {}) {
35
+ const payload = pickPayload(this.constructor, input);
36
+ const { jti, kind } = payload;
37
+
38
+ for (const key of Object.keys(payload)) {
39
+ if (key !== 'jti' && key !== 'kind') {
40
+ if (key === '__proto__') {
41
+ Object.defineProperty(this, key, {
42
+ configurable: true,
43
+ enumerable: true,
44
+ value: payload[key],
45
+ writable: true,
46
+ });
47
+ } else {
48
+ this[key] = payload[key];
49
+ }
50
+ }
51
+ }
41
52
 
42
53
  if (kind && kind !== this.constructor.name) {
43
54
  throw new TypeError('kind mismatch');
@@ -51,12 +62,24 @@ export default function getBaseModel(provider) {
51
62
  return new this(payload);
52
63
  }
53
64
 
65
+ generateTokenId() {
66
+ return opaque.generateTokenId(provider, this);
67
+ }
68
+
69
+ async getValueAndPayload() {
70
+ return opaque.getValueAndPayload(provider, this);
71
+ }
72
+
73
+ static async verify(stored, options = {}) {
74
+ return opaque.verify(provider, stored, options);
75
+ }
76
+
54
77
  async save(ttl) {
55
78
  if (!this.jti) {
56
79
  this.jti = this.generateTokenId();
57
80
  }
58
81
 
59
- // this is true for all BaseToken descendants
82
+
60
83
  if (typeof this.constructor.expiresIn !== 'function') {
61
84
  this.exp = epochTime() + ttl;
62
85
  }
@@ -102,7 +125,7 @@ export default function getBaseModel(provider) {
102
125
  const payload = await this.verify(stored, { ignoreExpiration });
103
126
 
104
127
  return this.instantiate(payload);
105
- } catch (err) {
128
+ } catch {
106
129
  return undefined;
107
130
  }
108
131
  }
@@ -111,12 +134,12 @@ export default function getBaseModel(provider) {
111
134
  provider.emit(`${snakeCase(this.kind)}.${eventName}`, this);
112
135
  }
113
136
 
114
- /*
115
- * ttlPercentagePassed
116
- * returns a Number (0 to 100) with the value being percentage of the token's ttl already
117
- * passed. The higher the percentage the older the token is. At 0 the token is fresh, at a 100
118
- * it is expired.
119
- */
137
+
138
+
139
+
140
+
141
+
142
+
120
143
  ttlPercentagePassed() {
121
144
  const now = epochTime();
122
145
  const percentage = Math.floor(100 * ((now - this.iat) / (this.exp - this.iat)));
@@ -135,7 +158,5 @@ export default function getBaseModel(provider) {
135
158
  }
136
159
  }
137
160
 
138
- class BaseModel extends hasFormat(provider, 'base', Class) {}
139
-
140
161
  return BaseModel;
141
162
  }
@@ -1,5 +1,6 @@
1
- import instance from '../helpers/weak_cache.js';
2
1
  import als from '../helpers/als.js';
2
+ import { positiveInteger } from '../helpers/configuration_result.js';
3
+ import instance from '../helpers/weak_cache.js';
3
4
 
4
5
  export default function getBaseToken(provider) {
5
6
  class BaseToken extends instance(provider).BaseModel {
@@ -42,13 +43,14 @@ export default function getBaseToken(provider) {
42
43
 
43
44
  static expiresIn(...args) {
44
45
  const ttl = instance(provider).configuration.ttl[this.name];
46
+ const path = `ttl.${this.name}`;
45
47
 
46
48
  if (typeof ttl === 'number') {
47
- return ttl;
49
+ return positiveInteger(ttl, path);
48
50
  }
49
51
 
50
52
  if (typeof ttl === 'function') {
51
- return ttl(...args);
53
+ return positiveInteger(ttl(...args), path);
52
54
  }
53
55
 
54
56
  return undefined;
@@ -1,4 +1,3 @@
1
- /* eslint-disable max-classes-per-file */
2
1
  import * as crypto from 'node:crypto';
3
2
  import { STATUS_CODES } from 'node:http';
4
3
 
@@ -24,9 +23,57 @@ import fetchRequest from '../helpers/fetch_request.js';
24
23
  import fetchBodyCheck from '../helpers/fetch_body_check.js';
25
24
  import { isValidClientIdUrl, resolveClientByMetadataDocument } from '../helpers/client_id_metadata_document.js';
26
25
 
27
- // intentionally ignore x5t#S256 so that they are left to be calculated by the library
26
+
28
27
  const EC_CURVES = new Set(['P-256', 'P-384', 'P-521']);
29
28
  const OKP_SUBTYPES = new Set(['Ed25519', 'X25519']);
29
+ const CLIENT_JWK_REQUIREMENTS = new Map([
30
+ ['EC', { required: ['x', 'y'], privateParameters: ['d'], subtype: { parameter: 'crv', values: EC_CURVES } }],
31
+ ['OKP', { required: ['x'], privateParameters: ['d'], subtype: { parameter: 'crv', values: OKP_SUBTYPES } }],
32
+ ['AKP', { required: ['alg', 'pub'], privateParameters: ['priv'] }],
33
+ ['RSA', { required: ['e', 'n'], privateParameters: ['d', 'p', 'q', 'dp', 'dq', 'qi', 'oth'] }],
34
+ ]);
35
+
36
+ function stripLoopbackPort(uri) {
37
+ const parsed = URL.parse(uri);
38
+ if (!parsed || parsed.protocol !== 'http:' || !LOOPBACKS.has(parsed.hostname)) {
39
+ return undefined;
40
+ }
41
+
42
+ const schemeEnd = uri.indexOf('://');
43
+ if (schemeEnd === -1) {
44
+ return undefined;
45
+ }
46
+
47
+ const authorityStart = schemeEnd + 3;
48
+ const authorityEndOffset = uri.slice(authorityStart).search(/[/?#]/u);
49
+ const authorityEnd = authorityEndOffset === -1
50
+ ? uri.length
51
+ : authorityStart + authorityEndOffset;
52
+ const authority = uri.slice(authorityStart, authorityEnd);
53
+ const hostStart = authority.lastIndexOf('@') + 1;
54
+ const hostAndPort = authority.slice(hostStart);
55
+
56
+ let portStart;
57
+ if (hostAndPort.startsWith('[')) {
58
+ const bracketEnd = hostAndPort.indexOf(']');
59
+ if (bracketEnd === -1 || hostAndPort[bracketEnd + 1] !== ':') {
60
+ return uri;
61
+ }
62
+ portStart = hostStart + bracketEnd + 1;
63
+ } else {
64
+ const portOffset = hostAndPort.lastIndexOf(':');
65
+ if (portOffset === -1) {
66
+ return uri;
67
+ }
68
+ portStart = hostStart + portOffset;
69
+ }
70
+
71
+ if (!/^\d*$/u.test(authority.slice(portStart + 1))) {
72
+ return undefined;
73
+ }
74
+
75
+ return `${uri.slice(0, authorityStart + portStart)}${uri.slice(authorityEnd)}`;
76
+ }
30
77
 
31
78
  const validateJWKS = (jwks) => {
32
79
  if (jwks !== undefined) {
@@ -69,54 +116,63 @@ function isHmac(prop) {
69
116
  return /^HS/.test(value);
70
117
  }
71
118
 
72
- function checkJWK(jwk) {
119
+ function checkJWK(jwk, i) {
120
+ const prefix = `jwks.keys[${i}]`;
121
+
73
122
  try {
74
- if (!(isPlainObject(jwk))) throw new Error();
75
- if (!(typeof jwk.kty === 'string' && jwk.kty)) throw new Error();
76
-
77
- switch (jwk.kty) {
78
- case 'EC':
79
- if (!(typeof jwk.crv === 'string' && jwk.crv)) throw new Error();
80
- if (!EC_CURVES.has(jwk.crv)) return undefined;
81
- if (!(typeof jwk.x === 'string' && jwk.x)) throw new Error();
82
- if (!(typeof jwk.y === 'string' && jwk.y)) throw new Error();
83
- if (jwk.d !== undefined) throw new Error();
84
- break;
85
- case 'OKP':
86
- if (!(typeof jwk.crv === 'string' && jwk.crv)) throw new Error();
87
- if (!OKP_SUBTYPES.has(jwk.crv)) return undefined;
88
- if (!(typeof jwk.x === 'string' && jwk.x)) throw new Error();
89
- if (jwk.d !== undefined) throw new Error();
90
- break;
91
- case 'AKP':
92
- if (!(typeof jwk.alg === 'string' && jwk.alg)) throw new Error();
93
- if (!(typeof jwk.pub === 'string' && jwk.pub)) throw new Error();
94
- if (jwk.priv !== undefined) throw new Error();
95
- break;
96
- case 'RSA':
97
- if (!(typeof jwk.e === 'string' && jwk.e)) throw new Error();
98
- if (!(typeof jwk.n === 'string' && jwk.n)) throw new Error();
99
- if (jwk.d !== undefined) throw new Error();
100
- break;
101
- case 'oct':
102
- throw new Error();
103
- default:
104
- return undefined;
123
+ const invalid = (message) => {
124
+ throw new Error(message, { cause: jwk });
125
+ };
126
+ const requireString = (parameter, { keyType, optional = false } = {}) => {
127
+ if (optional && jwk[parameter] === undefined) return;
128
+
129
+ if (!(typeof jwk[parameter] === 'string' && jwk[parameter])) {
130
+ const qualifier = keyType ? ` for ${keyType} keys` : optional ? ' if provided' : '';
131
+ invalid(`${prefix}.${parameter} must be a non-empty string${qualifier}`);
132
+ }
133
+ };
134
+
135
+ if (!(isPlainObject(jwk))) invalid(`${prefix} must be a plain object`);
136
+ requireString('kty');
137
+
138
+ const requirements = CLIENT_JWK_REQUIREMENTS.get(jwk.kty);
139
+ if (!requirements) {
140
+ if (jwk.kty === 'oct') invalid(`${prefix} must not contain symmetric keys`);
141
+ return undefined;
105
142
  }
106
143
 
107
- if (!(jwk.alg === undefined || (typeof jwk.alg === 'string' && jwk.alg))) throw new Error();
108
- if (!(jwk.kid === undefined || (typeof jwk.kid === 'string' && jwk.kid))) throw new Error();
109
- if (!(jwk.use === undefined || (typeof jwk.use === 'string' && jwk.use))) throw new Error();
110
- if (!(jwk.x5c === undefined || (Array.isArray(jwk.x5c) && jwk.x5c.every((x) => typeof x === 'string' && x)))) throw new Error();
111
- } catch {
112
- throw new InvalidClientMetadata('client JSON Web Key Set is invalid');
144
+ const keyType = jwk.kty;
145
+ if (requirements.subtype) {
146
+ requireString(requirements.subtype.parameter, { keyType });
147
+ if (!requirements.subtype.values.has(jwk[requirements.subtype.parameter])) return undefined;
148
+ }
149
+
150
+ for (const parameter of requirements.required) {
151
+ requireString(parameter, { keyType });
152
+ }
153
+
154
+ for (const parameter of requirements.privateParameters) {
155
+ if (jwk[parameter] !== undefined) {
156
+ invalid(`${prefix}.${parameter} must not be provided for ${keyType} keys`);
157
+ }
158
+ }
159
+
160
+ for (const parameter of ['alg', 'kid', 'use']) {
161
+ requireString(parameter, { optional: true });
162
+ }
163
+
164
+ if (!(jwk.x5c === undefined || (Array.isArray(jwk.x5c) && jwk.x5c.every((x) => typeof x === 'string' && x)))) {
165
+ invalid(`${prefix}.x5c must be an array of non-empty strings if provided`);
166
+ }
167
+ } catch (cause) {
168
+ throw new InvalidClientMetadata('client JSON Web Key Set is invalid', { cause });
113
169
  }
114
170
 
115
171
  return jwk;
116
172
  }
117
173
 
118
174
  function deriveEncryptionKey(secret, length) {
119
- const digest = length <= 32 ? 'sha256' : length <= 48 ? 'sha384' : length <= 64 ? 'sha512' : false; // eslint-disable-line no-nested-ternary
175
+ const digest = length <= 32 ? 'sha256' : length <= 48 ? 'sha384' : length <= 64 ? 'sha512' : false;
120
176
  if (!digest) {
121
177
  throw new Error('unsupported symmetric encryption key derivation');
122
178
  }
@@ -159,7 +215,6 @@ export default function getClient(provider) {
159
215
 
160
216
  add(key) {
161
217
  if (this.client.clientAuthMethod === 'self_signed_tls_client_auth' && Array.isArray(key.x5c) && key.x5c.length) {
162
- // eslint-disable-next-line no-param-reassign
163
218
  key['x5t#S256'] = certificateThumbprint(key.x5c[0]);
164
219
  }
165
220
  super.add(key);
@@ -181,7 +236,7 @@ export default function getClient(provider) {
181
236
  const body = JSON.parse(buf.toString());
182
237
  const { headers, status } = response;
183
238
 
184
- // min refetch in 60 seconds unless cache headers say a longer response ttl
239
+
185
240
  const freshUntil = [epochTime() + 60];
186
241
 
187
242
  if (headers.has('expires')) {
@@ -196,7 +251,7 @@ export default function getClient(provider) {
196
251
  this.freshUntil = Math.max(...freshUntil.filter(Boolean));
197
252
 
198
253
  if (status !== 200) {
199
- throw new Error(`unexpected jwks_uri response status code, expected 200 OK, got ${status} ${STATUS_CODES[status]}`);
254
+ throw new Error(`unexpected jwks_uri response status code, expected 200 OK, got ${status} ${STATUS_CODES[status]}`, { cause: response });
200
255
  }
201
256
 
202
257
  validateJWKS(body);
@@ -208,9 +263,9 @@ export default function getClient(provider) {
208
263
  .forEach(ClientKeyStore.prototype.add.bind(this));
209
264
 
210
265
  delete this.lock;
211
- })().catch((err) => {
266
+ })().catch((cause) => {
212
267
  delete this.lock;
213
- throw new InvalidClientMetadata('client JSON Web Key Set failed to be refreshed', err.error_description || err.message);
268
+ throw new InvalidClientMetadata('client JSON Web Key Set failed to be refreshed', { cause });
214
269
  });
215
270
  }
216
271
 
@@ -325,7 +380,7 @@ export default function getClient(provider) {
325
380
  constructor(metadata, ctx, { cimd } = {}) {
326
381
  const schema = new Client.Schema(metadata, ctx, undefined, cimd);
327
382
 
328
- Object.assign(this, mapKeys(schema, (value, key) => {
383
+ Object.assign(this, mapKeys(schema, (_value, key) => {
329
384
  if (!instance(provider).RECOGNIZED_METADATA.includes(key)) {
330
385
  return key;
331
386
  }
@@ -416,7 +471,6 @@ export default function getClient(provider) {
416
471
  return this.responseTypes.includes(type);
417
472
  }
418
473
 
419
- // eslint-disable-next-line no-unused-vars
420
474
  responseModeAllowed(responseMode, responseType, fapiProfile) {
421
475
  if (fapiProfile === '1.0 Final' && !responseType.includes('id_token') && !responseMode.includes('jwt')) {
422
476
  return false;
@@ -430,28 +484,20 @@ export default function getClient(provider) {
430
484
  }
431
485
 
432
486
  #redirectAllowed(value, allowedUris) {
433
- const parsed = URL.parse(value);
434
- if (!parsed) return false;
487
+ if (allowedUris.includes(value)) {
488
+ return true;
489
+ }
435
490
 
436
- const match = allowedUris.find((allowed) => URL.parse(allowed)?.href === parsed.href);
437
- if (
438
- !!match
439
- || this.applicationType !== 'native'
440
- || parsed.protocol !== 'http:'
441
- || !LOOPBACKS.has(parsed.hostname)
442
- ) {
443
- return !!match;
491
+ if (this.applicationType !== 'native') {
492
+ return false;
444
493
  }
445
494
 
446
- parsed.port = '';
495
+ const withoutPort = stripLoopbackPort(value);
496
+ if (withoutPort === undefined) {
497
+ return false;
498
+ }
447
499
 
448
- return !!allowedUris
449
- .find((allowed) => {
450
- const registered = URL.parse(allowed);
451
- if (!registered) return false;
452
- registered.port = '';
453
- return parsed.href === registered.href;
454
- });
500
+ return allowedUris.some((allowed) => stripLoopbackPort(allowed) === withoutPort);
455
501
  }
456
502
 
457
503
  redirectUriAllowed(value) {
@@ -471,7 +517,7 @@ export default function getClient(provider) {
471
517
  }
472
518
 
473
519
  metadata() {
474
- return mapKeys(this, (value, key) => {
520
+ return mapKeys(this, (_value, key) => {
475
521
  const snaked = snakeCase(key);
476
522
  if (!instance(provider).RECOGNIZED_METADATA.includes(snaked)) {
477
523
  return key;
@@ -1,19 +1,40 @@
1
- import setAudience from './mixins/set_audience.js';
2
- import hasFormat from './mixins/has_format.js';
3
- import isSenderConstrained from './mixins/is_sender_constrained.js';
4
- import apply from './mixins/apply.js';
1
+ import { generateTokenId, getValueAndPayload } from './formats/index.js';
2
+ import { setThumbprint, setAudience } from './token_helpers.js';
5
3
 
6
- export default (provider) => class ClientCredentials extends apply([
7
- setAudience,
8
- isSenderConstrained,
9
- hasFormat(provider, 'ClientCredentials', provider.BaseToken),
10
- ]) {
4
+ export default (provider) => class ClientCredentials extends provider.BaseToken {
11
5
  static get IN_PAYLOAD() {
12
6
  return [
13
7
  ...super.IN_PAYLOAD,
8
+ 'x5t#S256',
9
+ 'jkt',
14
10
  'aud',
15
11
  'extra',
12
+ 'rar',
16
13
  'scope',
17
14
  ];
18
15
  }
16
+
17
+ setThumbprint(prop, input) {
18
+ setThumbprint(this, prop, input);
19
+ }
20
+
21
+ isSenderConstrained() {
22
+ return !!(this.jkt || this['x5t#S256']);
23
+ }
24
+
25
+ get tokenType() {
26
+ return this.jkt ? 'DPoP' : 'Bearer';
27
+ }
28
+
29
+ setAudience(audience) {
30
+ setAudience(this, audience);
31
+ }
32
+
33
+ generateTokenId() {
34
+ return generateTokenId(provider, this);
35
+ }
36
+
37
+ async getValueAndPayload() {
38
+ return getValueAndPayload(provider, this);
39
+ }
19
40
  };