@nocobase/plugin-idp-oauth 2.3.0-beta.11 → 2.3.0-beta.13

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,14 +1,14 @@
1
1
  import { JWA } from '../consts/index.js';
2
-
3
2
  import isPlainObject from './_/is_plain_object.js';
4
- import remove from './_/remove.js';
5
3
  import merge from './_/merge.js';
6
4
  import pick from './_/pick.js';
5
+ import remove from './_/remove.js';
7
6
  import set from './_/set.js';
8
- import * as formatters from './formatters.js';
9
- import getDefaults from './defaults.js';
10
- import { STABLE, EXPERIMENTS } from './features.js';
11
7
  import * as attention from './attention.js';
8
+ import getDefaults from './defaults.js';
9
+ import { InvalidAuthorizationDetails } from './errors.js';
10
+ import { EXPERIMENTS, STABLE } from './features.js';
11
+ import * as formatters from './formatters.js';
12
12
 
13
13
  function featuresTypeErrorCheck({ features }) {
14
14
  for (const value of Object.values(features)) {
@@ -18,20 +18,116 @@ function featuresTypeErrorCheck({ features }) {
18
18
  }
19
19
  }
20
20
 
21
+ const requiredFeatureMembers = {
22
+ attestClientAuth: ['additionalSecuritySignal'],
23
+ ciba: ['deliveryModes'],
24
+ };
25
+
26
+ const requiredEnabledFeatureMembers = {
27
+ deviceFlow: ['enabled', 'charset', 'mask'],
28
+ fapi: ['enabled', 'profile'],
29
+ openid4vci: [
30
+ 'enabled',
31
+ 'metadata',
32
+ 'preAuthorizedCodeGrant',
33
+ 'credentialConfigurationsSupported',
34
+ 'credentialConfigurationPolicy',
35
+ 'issueCredential',
36
+ ],
37
+ richAuthorizationRequests: ['enabled', 'types'],
38
+ };
39
+
40
+ function checkFeatureConfigurationOwnProperties({ features }) {
41
+ const featureNames = [
42
+ ...Object.keys(requiredFeatureMembers),
43
+ ...Object.keys(requiredEnabledFeatureMembers),
44
+ ];
45
+
46
+ if (features && !isPlainObject(features) && ['object', 'function'].includes(typeof features)) {
47
+ for (const name of featureNames) {
48
+ if (!Object.hasOwn(features, name)) {
49
+ throw new TypeError(`features.${name} must be an own property`);
50
+ }
51
+ }
52
+ }
53
+
54
+ for (const [name, members] of Object.entries(requiredFeatureMembers)) {
55
+ const feature = features?.[name];
56
+ if (feature && !isPlainObject(feature) && ['object', 'function'].includes(typeof feature)) {
57
+ for (const member of members) {
58
+ if (!Object.hasOwn(feature, member)) {
59
+ throw new TypeError(`features.${name}.${member} must be an own property`);
60
+ }
61
+ }
62
+ }
63
+ }
64
+
65
+ for (const [name, members] of Object.entries(requiredEnabledFeatureMembers)) {
66
+ const feature = features?.[name];
67
+ if (feature && !isPlainObject(feature)
68
+ && ['object', 'function'].includes(typeof feature)) {
69
+ if (!Object.hasOwn(feature, 'enabled')) {
70
+ throw new TypeError(`features.${name}.enabled must be an own property`);
71
+ }
72
+
73
+ if (feature.enabled) {
74
+ for (const member of members) {
75
+ if (!Object.hasOwn(feature, member)) {
76
+ throw new TypeError(`features.${name}.${member} must be an own property`);
77
+ }
78
+ }
79
+ }
80
+ }
81
+ }
82
+ }
83
+
84
+ function checkKeyAttestationsRequired(proofTypeConfig, prefix) {
85
+ if (proofTypeConfig === undefined) {
86
+ return;
87
+ }
88
+ if (proofTypeConfig === null) {
89
+ throw new TypeError(`${prefix} must be an object`);
90
+ }
91
+
92
+ const { key_attestations_required: keyAttestationsRequired } = proofTypeConfig;
93
+ if (keyAttestationsRequired !== undefined) {
94
+ if (!isPlainObject(keyAttestationsRequired)) {
95
+ throw new TypeError(
96
+ `${prefix}.key_attestations_required must be a plain object`,
97
+ );
98
+ }
99
+
100
+ for (const claim of ['key_storage', 'user_authentication']) {
101
+ const values = keyAttestationsRequired[claim];
102
+ if (values !== undefined) {
103
+ if (
104
+ !Array.isArray(values)
105
+ || values.length === 0
106
+ || !values.every((v) => typeof v === 'string' && v.length > 0)
107
+ ) {
108
+ throw new TypeError(
109
+ `${prefix}.key_attestations_required.${claim} must be a non-empty array of non-empty strings`,
110
+ );
111
+ }
112
+ }
113
+ }
114
+ }
115
+ }
116
+
21
117
  function filterHS(alg) {
22
118
  return alg.startsWith('HS');
23
119
  }
24
120
 
25
121
  function filterAsymmetricSig(alg) {
26
122
  switch (alg.slice(0, 2)) {
27
- case 'ML': // ML-DSA-*, ML-KEM-*
28
- case 'RS': // RS\d{3}, RSA-OAEP
29
- case 'PS': // PS\d{3}
30
- case 'ES': // ECDSA
31
- case 'EC': // ECDH
32
- case 'Ed': // Ed*
33
- case 'X2': // X25519
34
- case 'X4': // X448
123
+ case 'ML':
124
+ case 'RS':
125
+ case 'PS':
126
+ case 'ES':
127
+ case 'EC':
128
+ case 'Ed':
129
+ case 'X2':
130
+ case 'X4':
35
131
  return true;
36
132
  default:
37
133
  return false;
@@ -41,15 +137,71 @@ function filterAsymmetricSig(alg) {
41
137
  const supportedResponseTypes = new Set(['none', 'code', 'id_token', 'token']);
42
138
  const fapiProfiles = new Set(['1.0 Final', '2.0']);
43
139
 
140
+ function cloneConfiguration(value) {
141
+ if (Array.isArray(value)) {
142
+ return value.map(cloneConfiguration);
143
+ }
144
+
145
+ if (value instanceof Set) {
146
+ return new Set([...value].map(cloneConfiguration));
147
+ }
148
+
149
+ if (isPlainObject(value)) {
150
+ return Object.fromEntries(
151
+ Object.entries(value).map(([key, entry]) => [key, cloneConfiguration(entry)]),
152
+ );
153
+ }
154
+
155
+ return value;
156
+ }
157
+
158
+ function validateOpenid4vciClaims(claims) {
159
+ if (!Array.isArray(claims) || claims.length === 0) {
160
+ throw new InvalidAuthorizationDetails("'claims' must be a non-empty array when provided");
161
+ }
162
+
163
+ for (const claim of claims) {
164
+ if (!isPlainObject(claim)) {
165
+ throw new InvalidAuthorizationDetails('claims description entries must be JSON objects');
166
+ }
167
+
168
+ if (!Array.isArray(claim.path) || claim.path.length === 0) {
169
+ throw new InvalidAuthorizationDetails('claims description path must be a non-empty array');
170
+ }
171
+
172
+ for (const component of claim.path) {
173
+ const valid = (
174
+ (typeof component === 'string' && component.length)
175
+ || component === null
176
+ || (Number.isInteger(component) && component >= 0)
177
+ );
178
+
179
+ if (!valid) {
180
+ throw new InvalidAuthorizationDetails('claims description path entries must be non-empty strings, null, or non-negative integers');
181
+ }
182
+ }
183
+
184
+ if ('mandatory' in claim && typeof claim.mandatory !== 'boolean') {
185
+ throw new InvalidAuthorizationDetails('claims description mandatory must be a boolean when provided');
186
+ }
187
+ }
188
+ }
189
+
44
190
  class Configuration {
45
191
  #defaults = getDefaults();
46
192
 
47
193
  constructor(config) {
48
- Object.assign(this, merge({}, this.#defaults, pick(config, ...Object.keys(this.#defaults))));
49
-
194
+ const recognizedFeatures = { ...this.#defaults.features };
195
+ const recognizedRichAuthorizationRequestOptions = new Set(
196
+ Object.keys(this.#defaults.features.richAuthorizationRequests),
197
+ );
198
+ const input = cloneConfiguration(pick(config, ...Object.keys(this.#defaults)));
199
+ Object.assign(this, merge({}, this.#defaults, input));
200
+
201
+ checkFeatureConfigurationOwnProperties(this);
50
202
  featuresTypeErrorCheck(this);
51
203
 
52
- this.logDraftNotice();
204
+ this.logDraftNotice(recognizedFeatures);
53
205
 
54
206
  this.registerExtraParamsValidations();
55
207
  this.ensureSets();
@@ -68,10 +220,12 @@ class Configuration {
68
220
  this.checkSubjectTypes();
69
221
  this.checkDependantFeatures();
70
222
  this.checkDeviceFlow();
223
+ this.checkAttestClientAuth();
71
224
  this.checkAuthMethods();
72
225
  this.checkTTL();
73
226
  this.checkCibaDeliveryModes();
74
- this.checkRichAuthorizationRequests();
227
+ this.checkRichAuthorizationRequests(recognizedRichAuthorizationRequestOptions);
228
+ this.checkOpenid4vci();
75
229
  this.checkPostMethods();
76
230
  this.checkFetchResponseBodyLimits();
77
231
 
@@ -80,17 +234,58 @@ class Configuration {
80
234
  delete this.cookies.short.maxAge;
81
235
  delete this.cookies.short.expires;
82
236
 
83
- // release #defaults
237
+
84
238
  this.#defaults = undefined;
85
239
  }
86
240
 
87
- checkRichAuthorizationRequests() {
241
+ checkRichAuthorizationRequests(recognizedOptions) {
242
+ const { richAuthorizationRequests } = this.features;
243
+
244
+ for (const option of Object.keys(richAuthorizationRequests)) {
245
+ if (!recognizedOptions.has(option)) {
246
+ throw new TypeError(`Unknown feature configuration: richAuthorizationRequests.${option}`);
247
+ }
248
+ }
249
+
250
+ for (const option of [
251
+ 'authorizationDetailsForGrantSource',
252
+ 'authorizationDetailsForAccessToken',
253
+ 'authorizationDetailsForIntrospection',
254
+ ]) {
255
+ const callback = richAuthorizationRequests[option];
256
+ if (
257
+ typeof callback !== 'function'
258
+ || !['Function', 'AsyncFunction'].includes(callback.constructor.name)
259
+ ) {
260
+ throw new TypeError(`features.richAuthorizationRequests.${option} must be a function`);
261
+ }
262
+ }
263
+
88
264
  if (this.features.richAuthorizationRequests.enabled) {
89
- if (!isPlainObject(this.features.richAuthorizationRequests.types)) {
265
+ const { openid4vci } = this.features;
266
+
267
+ if (!isPlainObject(richAuthorizationRequests.types)) {
90
268
  throw new TypeError('features.richAuthorizationRequests.types must be an object');
91
269
  }
92
270
 
93
- for (const [k, v] of Object.entries(this.features.richAuthorizationRequests.types)) {
271
+ if (openid4vci.enabled && !Object.hasOwn(richAuthorizationRequests.types, 'openid_credential')) {
272
+ richAuthorizationRequests.types.openid_credential = {
273
+ validate(_ctx, detail) {
274
+ if (typeof detail.credential_configuration_id !== 'string' || !detail.credential_configuration_id.length) {
275
+ throw new InvalidAuthorizationDetails("'credential_configuration_id' must be a non-empty string");
276
+ }
277
+ if (!Object.hasOwn(openid4vci.credentialConfigurationsSupported, detail.credential_configuration_id)) {
278
+ throw new InvalidAuthorizationDetails("'credential_configuration_id' must reference an entry in credential_configurations_supported");
279
+ }
280
+
281
+ if ('claims' in detail) {
282
+ validateOpenid4vciClaims(detail.claims);
283
+ }
284
+ },
285
+ };
286
+ }
287
+
288
+ for (const [k, v] of Object.entries(richAuthorizationRequests.types)) {
94
289
  if (!isPlainObject(v)) {
95
290
  throw new TypeError('features.richAuthorizationRequests.types attribute values must be objects');
96
291
  }
@@ -101,6 +296,126 @@ class Configuration {
101
296
  }
102
297
  }
103
298
 
299
+ checkOpenid4vci() {
300
+ const { openid4vci } = this.features;
301
+
302
+ if (!openid4vci.enabled) {
303
+ return;
304
+ }
305
+
306
+ if (!isPlainObject(openid4vci.metadata)) {
307
+ throw new TypeError('features.openid4vci.metadata must be an object');
308
+ }
309
+
310
+ if (typeof openid4vci.preAuthorizedCodeGrant !== 'boolean') {
311
+ throw new TypeError('features.openid4vci.preAuthorizedCodeGrant must be a boolean');
312
+ }
313
+
314
+ const batchCredentialIssuance = openid4vci.metadata.batch_credential_issuance;
315
+ if (batchCredentialIssuance !== undefined) {
316
+ if (!isPlainObject(batchCredentialIssuance)) {
317
+ throw new TypeError('features.openid4vci.metadata.batch_credential_issuance must be an object');
318
+ }
319
+
320
+ if (
321
+ !Number.isSafeInteger(batchCredentialIssuance.batch_size)
322
+ || batchCredentialIssuance.batch_size < 2
323
+ ) {
324
+ throw new TypeError('features.openid4vci.metadata.batch_credential_issuance.batch_size must be an integer greater than or equal to 2');
325
+ }
326
+ }
327
+
328
+ if (
329
+ !isPlainObject(openid4vci.credentialConfigurationsSupported)
330
+ || !Object.keys(openid4vci.credentialConfigurationsSupported).length
331
+ ) {
332
+ throw new TypeError('features.openid4vci.credentialConfigurationsSupported must be a non-empty object');
333
+ }
334
+
335
+ for (
336
+ const [credentialConfigurationId, credentialConfiguration]
337
+ of Object.entries(openid4vci.credentialConfigurationsSupported)
338
+ ) {
339
+ if (!isPlainObject(credentialConfiguration)) {
340
+ throw new TypeError(`features.openid4vci.credentialConfigurationsSupported['${credentialConfigurationId}'] must be an object`);
341
+ }
342
+
343
+ const ccPrefix = `features.openid4vci.credentialConfigurationsSupported['${credentialConfigurationId}']`;
344
+
345
+ if (typeof credentialConfiguration.format !== 'string' || !credentialConfiguration.format.length) {
346
+ throw new TypeError(`${ccPrefix}.format must be a non-empty string`);
347
+ }
348
+
349
+ const proofTypesSupported = credentialConfiguration.proof_types_supported;
350
+ if (isPlainObject(proofTypesSupported)) {
351
+ const supportedProofTypes = new Set(['jwt', 'attestation']);
352
+ const unsupportedProofTypes = Object.keys(proofTypesSupported)
353
+ .filter((t) => !supportedProofTypes.has(t));
354
+ if (unsupportedProofTypes.length) {
355
+ throw new TypeError(
356
+ `${ccPrefix}.proof_types_supported contains unsupported proof type(s): ${unsupportedProofTypes.join(', ')}`,
357
+ );
358
+ }
359
+
360
+ if (Object.hasOwn(proofTypesSupported, 'jwt')) {
361
+ const cryptographicBindingMethodsSupported = credentialConfiguration
362
+ .cryptographic_binding_methods_supported;
363
+
364
+ if (
365
+ !Array.isArray(cryptographicBindingMethodsSupported)
366
+ || !cryptographicBindingMethodsSupported.includes('jwk')
367
+ ) {
368
+ throw new TypeError(
369
+ `${ccPrefix}.cryptographic_binding_methods_supported must include 'jwk' when jwt proofs are supported`,
370
+ );
371
+ }
372
+
373
+ checkKeyAttestationsRequired(proofTypesSupported.jwt, `${ccPrefix}.proof_types_supported.jwt`);
374
+ }
375
+
376
+ if (Object.hasOwn(proofTypesSupported, 'attestation')) {
377
+ checkKeyAttestationsRequired(proofTypesSupported.attestation, `${ccPrefix}.proof_types_supported.attestation`);
378
+ }
379
+ }
380
+
381
+
382
+ const cryptographicBindingMethodsSupported = credentialConfiguration
383
+ .cryptographic_binding_methods_supported;
384
+ if (Array.isArray(cryptographicBindingMethodsSupported)) {
385
+ const unsupportedMethods = cryptographicBindingMethodsSupported.filter((m) => m !== 'jwk');
386
+ if (unsupportedMethods.length) {
387
+ throw new TypeError(
388
+ `${ccPrefix}.cryptographic_binding_methods_supported contains unsupported method(s): ${unsupportedMethods.join(', ')}`,
389
+ );
390
+ }
391
+ }
392
+
393
+
394
+ if (credentialConfiguration.credential_response_encryption !== undefined) {
395
+ throw new TypeError(
396
+ `${ccPrefix}.credential_response_encryption is not supported`,
397
+ );
398
+ }
399
+ }
400
+
401
+
402
+ if (openid4vci.metadata.credential_response_encryption !== undefined) {
403
+ throw new TypeError(
404
+ 'features.openid4vci.metadata.credential_response_encryption is not supported',
405
+ );
406
+ }
407
+
408
+ const policy = openid4vci.credentialConfigurationPolicy;
409
+ if (typeof policy !== 'function' || !['Function', 'AsyncFunction'].includes(policy.constructor.name)) {
410
+ throw new TypeError('features.openid4vci.credentialConfigurationPolicy must be a function');
411
+ }
412
+
413
+ const { issueCredential } = openid4vci;
414
+ if (typeof issueCredential !== 'function' || !['Function', 'AsyncFunction'].includes(issueCredential.constructor.name)) {
415
+ throw new TypeError('features.openid4vci.issueCredential must be a function');
416
+ }
417
+ }
418
+
104
419
  registerExtraParamsValidations() {
105
420
  if (!isPlainObject(this.extraParams)) {
106
421
  return;
@@ -185,6 +500,10 @@ class Configuration {
185
500
  if (this.features.ciba.enabled) {
186
501
  this.grantTypes.add('urn:openid:params:grant-type:ciba');
187
502
  }
503
+
504
+ if (this.features.openid4vci.enabled && this.features.openid4vci.preAuthorizedCodeGrant) {
505
+ this.grantTypes.add('urn:ietf:params:oauth:grant-type:pre-authorized_code');
506
+ }
188
507
  }
189
508
 
190
509
  collectScopes() {
@@ -250,6 +569,10 @@ class Configuration {
250
569
  }
251
570
 
252
571
  checkAllowedJWA() {
572
+ if (this.enabledJWA === null) {
573
+ throw new TypeError('enabledJWA must be an object');
574
+ }
575
+
253
576
  Object.entries(this.enabledJWA).forEach(([key, value]) => {
254
577
  if (!JWA[key]) {
255
578
  throw new TypeError(`invalid property enabledJWA.${key} provided`);
@@ -359,26 +682,26 @@ class Configuration {
359
682
  const { features } = this;
360
683
 
361
684
  if (features.jwtIntrospection.enabled && !features.introspection.enabled) {
362
- throw new TypeError('jwtIntrospection is only available in conjuction with introspection');
685
+ throw new TypeError('jwtIntrospection is only available in conjunction with introspection');
363
686
  }
364
687
 
365
688
  if (features.jwtUserinfo.enabled && !features.userinfo.enabled) {
366
- throw new TypeError('jwtUserinfo is only available in conjuction with userinfo');
689
+ throw new TypeError('jwtUserinfo is only available in conjunction with userinfo');
367
690
  }
368
691
 
369
692
  if (features.registrationManagement.enabled && !features.registration.enabled) {
370
- throw new TypeError('registrationManagement is only available in conjuction with registration');
693
+ throw new TypeError('registrationManagement is only available in conjunction with registration');
371
694
  }
372
695
 
373
696
  if (
374
697
  (features.registration.enabled && features.registration.policies)
375
698
  && !features.registration.initialAccessToken
376
699
  ) {
377
- throw new TypeError('registration policies are only available in conjuction with adapter-backed initial access tokens');
700
+ throw new TypeError('registration policies are only available in conjunction with adapter-backed initial access tokens');
378
701
  }
379
702
 
380
703
  if (features.richAuthorizationRequests.enabled && !features.resourceIndicators.enabled) {
381
- throw new TypeError('richAuthorizationRequests is only available in conjuction with enabled resourceIndicators');
704
+ throw new TypeError('richAuthorizationRequests is only available in conjunction with enabled resourceIndicators');
382
705
  }
383
706
  }
384
707
 
@@ -396,7 +719,7 @@ class Configuration {
396
719
  valid = true;
397
720
  }
398
721
  break;
399
- case 'undefined': // does not expire
722
+ case 'undefined':
400
723
  valid = true;
401
724
  break;
402
725
  default:
@@ -434,6 +757,18 @@ class Configuration {
434
757
  }
435
758
  }
436
759
 
760
+ checkAttestClientAuth() {
761
+ const { additionalSecuritySignal } = this.features.attestClientAuth;
762
+
763
+ if (
764
+ additionalSecuritySignal !== false
765
+ && additionalSecuritySignal !== 'optional'
766
+ && additionalSecuritySignal !== 'required'
767
+ ) {
768
+ throw new TypeError('features.attestClientAuth.additionalSecuritySignal must be false, optional, or required');
769
+ }
770
+ }
771
+
437
772
  checkAuthMethods() {
438
773
  const authMethods = new Set([
439
774
  'none',
@@ -489,12 +824,11 @@ class Configuration {
489
824
  }
490
825
  }
491
826
 
492
- logDraftNotice() {
827
+ logDraftNotice(recognizedFeatures = getDefaults().features) {
493
828
  const ENABLED_EXPERIMENTS = new Set();
494
829
  let throwExperiment = false;
495
830
 
496
831
  Object.entries(this.features).forEach(([flag, { enabled, ack }]) => {
497
- const { features: recognizedFeatures } = getDefaults();
498
832
  if (!(flag in recognizedFeatures)) {
499
833
  throw new TypeError(`Unknown feature configuration: ${flag}`);
500
834
  }
@@ -0,0 +1,84 @@
1
+ import isPlainObject from './_/is_plain_object.js';
2
+
3
+ function invalid(path, expected) {
4
+ return new TypeError(`${path} must ${expected}`);
5
+ }
6
+
7
+ function ignoreThenableRejection(value) {
8
+ if (value !== null && (typeof value === 'object' || typeof value === 'function')) {
9
+ if (typeof value.then === 'function') {
10
+ Promise.resolve(value).catch(() => {});
11
+ }
12
+ }
13
+ }
14
+
15
+ export function boolean(value, path) {
16
+ if (typeof value !== 'boolean') {
17
+ ignoreThenableRejection(value);
18
+ throw invalid(path, 'return a Boolean');
19
+ }
20
+
21
+ return value;
22
+ }
23
+
24
+ export function positiveInteger(value, path) {
25
+ if (!Number.isSafeInteger(value) || value <= 0) {
26
+ ignoreThenableRejection(value);
27
+ throw invalid(path, 'return a positive integer');
28
+ }
29
+
30
+ return value;
31
+ }
32
+
33
+ export function account(value, path = 'findAccount') {
34
+ if (value === undefined) {
35
+ return value;
36
+ }
37
+
38
+ if (
39
+ value === null
40
+ || typeof value !== 'object'
41
+ || typeof value.accountId !== 'string'
42
+ || value.accountId.length === 0
43
+ || typeof value.claims !== 'function'
44
+ ) {
45
+ throw invalid(path, 'return undefined or an object with a non-empty accountId and a claims function');
46
+ }
47
+
48
+ return value;
49
+ }
50
+
51
+ export function resourceServer(value, path = 'features.resourceIndicators.getResourceServerInfo') {
52
+ if (value === null || typeof value !== 'object' || Array.isArray(value)) {
53
+ throw invalid(path, 'return an object');
54
+ }
55
+
56
+ if (typeof value.scope !== 'string') {
57
+ throw invalid(path, 'return an object with a scope string');
58
+ }
59
+
60
+ if (value.audience !== undefined && typeof value.audience !== 'string') {
61
+ throw invalid(path, 'return an object whose audience is a string when provided');
62
+ }
63
+
64
+ if (value.accessTokenTTL !== undefined) {
65
+ positiveInteger(value.accessTokenTTL, `${path}.accessTokenTTL`);
66
+ }
67
+
68
+ if (
69
+ value.accessTokenFormat !== undefined
70
+ && !['opaque', 'jwt'].includes(value.accessTokenFormat)
71
+ ) {
72
+ throw invalid(path, 'return an object whose accessTokenFormat is "opaque" or "jwt" when provided');
73
+ }
74
+
75
+ return value;
76
+ }
77
+
78
+ export function extraTokenClaims(value, path = 'extraTokenClaims') {
79
+ if (value !== undefined && !isPlainObject(value)) {
80
+ throw invalid(path, 'return undefined or a plain object');
81
+ }
82
+
83
+ return value;
84
+ }
@@ -13,7 +13,7 @@ function constantEquals(a, b, minComp = 0) {
13
13
  if (typeof a !== 'string' || typeof b !== 'string') {
14
14
  throw new TypeError('arguments must be strings');
15
15
  }
16
- const length = Math.max(a.length, b.length, minComp);
16
+ const length = Math.max(Buffer.byteLength(a), Buffer.byteLength(b), minComp);
17
17
  return timingSafeEqual(paddedBuffer(a, length), paddedBuffer(b, length));
18
18
  }
19
19