@nocobase/plugin-idp-oauth 2.3.0-beta.9 → 2.4.0-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (602) hide show
  1. package/build.config.ts +1 -1
  2. package/dist/client/index.js +1 -1
  3. package/dist/client-v2/{711.89a4c42afec82a37.js → 711.b95ec5ff736ba34c.js} +1 -1
  4. package/dist/client-v2/index.js +1 -1
  5. package/dist/externalVersion.js +8 -8
  6. package/dist/node_modules/light-my-request/index.js +2 -2
  7. package/dist/node_modules/light-my-request/node_modules/cookie/dist/index.d.ts +148 -0
  8. package/dist/node_modules/light-my-request/node_modules/cookie/dist/index.js +350 -0
  9. package/dist/node_modules/light-my-request/node_modules/cookie/package.json +47 -0
  10. package/dist/node_modules/light-my-request/package.json +1 -1
  11. package/dist/node_modules/ms/package.json +1 -1
  12. package/dist/node_modules/oidc-provider/README.md +28 -25
  13. package/dist/node_modules/oidc-provider/THIRD-PARTY-NOTICES.md +184 -0
  14. package/dist/node_modules/oidc-provider/lib/actions/authorization/ciba.js +169 -0
  15. package/dist/node_modules/oidc-provider/lib/actions/authorization/claims.js +132 -0
  16. package/dist/node_modules/oidc-provider/lib/actions/authorization/client.js +50 -0
  17. package/dist/node_modules/oidc-provider/lib/actions/authorization/device.js +164 -0
  18. package/dist/node_modules/oidc-provider/lib/actions/authorization/index.js +112 -163
  19. package/dist/node_modules/oidc-provider/lib/actions/authorization/interactions.js +32 -13
  20. package/dist/node_modules/oidc-provider/lib/actions/authorization/process_request_object.js +47 -25
  21. package/dist/node_modules/oidc-provider/lib/actions/authorization/pushed_authorization_requests.js +127 -0
  22. package/dist/node_modules/oidc-provider/lib/actions/authorization/request_parameters.js +188 -0
  23. package/dist/node_modules/oidc-provider/lib/actions/authorization/respond.js +15 -10
  24. package/dist/node_modules/oidc-provider/lib/actions/authorization/response_parameters.js +175 -0
  25. package/dist/node_modules/oidc-provider/lib/actions/authorization/resume.js +8 -4
  26. package/dist/node_modules/oidc-provider/lib/actions/authorization/scopes.js +109 -0
  27. package/dist/node_modules/oidc-provider/lib/actions/authorization/{check_pkce.js → sender_constraints.js} +31 -8
  28. package/dist/node_modules/oidc-provider/lib/actions/authorization/{load_grant.js → session.js} +21 -4
  29. package/dist/node_modules/oidc-provider/lib/actions/challenge.js +6 -1
  30. package/dist/node_modules/oidc-provider/lib/actions/code_verification.js +1 -3
  31. package/dist/node_modules/oidc-provider/lib/actions/credential.js +757 -0
  32. package/dist/node_modules/oidc-provider/lib/actions/discovery.js +11 -2
  33. package/dist/node_modules/oidc-provider/lib/actions/end_session.js +23 -15
  34. package/dist/node_modules/oidc-provider/lib/actions/grants/authorization_code.js +24 -94
  35. package/dist/node_modules/oidc-provider/lib/actions/grants/ciba.js +22 -86
  36. package/dist/node_modules/oidc-provider/lib/actions/grants/client_credentials.js +26 -45
  37. package/dist/node_modules/oidc-provider/lib/actions/grants/device_code.js +23 -83
  38. package/dist/node_modules/oidc-provider/lib/actions/grants/index.js +1 -2
  39. package/dist/node_modules/oidc-provider/lib/actions/grants/pre_authorized_code.js +70 -0
  40. package/dist/node_modules/oidc-provider/lib/actions/grants/refresh_token.js +46 -59
  41. package/dist/node_modules/oidc-provider/lib/actions/index.js +10 -6
  42. package/dist/node_modules/oidc-provider/lib/actions/interaction.js +124 -113
  43. package/dist/node_modules/oidc-provider/lib/actions/introspection.js +137 -141
  44. package/dist/node_modules/oidc-provider/lib/actions/openid_credential_issuer.js +17 -0
  45. package/dist/node_modules/oidc-provider/lib/actions/registration.js +30 -6
  46. package/dist/node_modules/oidc-provider/lib/actions/revocation.js +56 -61
  47. package/dist/node_modules/oidc-provider/lib/actions/token.js +98 -54
  48. package/dist/node_modules/oidc-provider/lib/actions/userinfo.js +24 -102
  49. package/dist/node_modules/oidc-provider/lib/adapters/memory_adapter.js +107 -23
  50. package/dist/node_modules/oidc-provider/lib/consts/client_attributes.js +5 -5
  51. package/dist/node_modules/oidc-provider/lib/consts/jwa.js +3 -3
  52. package/dist/node_modules/oidc-provider/lib/consts/param_list.js +1 -1
  53. package/dist/node_modules/oidc-provider/lib/helpers/_/defaults.js +0 -2
  54. package/dist/node_modules/oidc-provider/lib/helpers/_/is_json_object.js +1 -0
  55. package/dist/node_modules/oidc-provider/lib/helpers/_/merge.js +0 -2
  56. package/dist/node_modules/oidc-provider/lib/helpers/_/omit_by.js +0 -2
  57. package/dist/node_modules/oidc-provider/lib/helpers/_/pick.js +1 -1
  58. package/dist/node_modules/oidc-provider/lib/helpers/_/remove.js +1 -1
  59. package/dist/node_modules/oidc-provider/lib/helpers/add_client.js +0 -1
  60. package/dist/node_modules/oidc-provider/lib/helpers/assert_provider_context.js +5 -0
  61. package/dist/node_modules/oidc-provider/lib/helpers/attention.js +2 -2
  62. package/dist/node_modules/oidc-provider/lib/helpers/challenge.js +29 -42
  63. package/dist/node_modules/oidc-provider/lib/helpers/claims.js +2 -1
  64. package/dist/node_modules/oidc-provider/lib/helpers/client_id_metadata_document.js +131 -62
  65. package/dist/node_modules/oidc-provider/lib/helpers/client_schema.js +46 -24
  66. package/dist/node_modules/oidc-provider/lib/helpers/configuration.js +363 -29
  67. package/dist/node_modules/oidc-provider/lib/helpers/configuration_result.js +84 -0
  68. package/dist/node_modules/oidc-provider/lib/helpers/constant_equals.js +1 -1
  69. package/dist/node_modules/oidc-provider/lib/helpers/defaults.js +3166 -2757
  70. package/dist/node_modules/oidc-provider/lib/helpers/errors.js +52 -34
  71. package/dist/node_modules/oidc-provider/lib/helpers/features.js +6 -8
  72. package/dist/node_modules/oidc-provider/lib/helpers/fetch_request.js +136 -99
  73. package/dist/node_modules/oidc-provider/lib/helpers/filter_claims.js +0 -1
  74. package/dist/node_modules/oidc-provider/lib/helpers/grant_authorization.js +78 -0
  75. package/dist/node_modules/oidc-provider/lib/helpers/grant_common.js +77 -103
  76. package/dist/node_modules/oidc-provider/lib/helpers/grant_refresh_token.js +22 -0
  77. package/dist/node_modules/oidc-provider/lib/helpers/grant_response.js +58 -0
  78. package/dist/node_modules/oidc-provider/lib/helpers/grant_source.js +60 -0
  79. package/dist/node_modules/oidc-provider/lib/helpers/grants.js +33 -0
  80. package/dist/node_modules/oidc-provider/lib/helpers/initialize_adapter.js +4 -2
  81. package/dist/node_modules/oidc-provider/lib/helpers/initialize_app.js +114 -90
  82. package/dist/node_modules/oidc-provider/lib/helpers/initialize_keystore.js +61 -54
  83. package/dist/node_modules/oidc-provider/lib/helpers/interaction_policy/check.js +0 -2
  84. package/dist/node_modules/oidc-provider/lib/helpers/interaction_policy/index.js +3 -1
  85. package/dist/node_modules/oidc-provider/lib/helpers/interaction_policy/prompt.js +3 -4
  86. package/dist/node_modules/oidc-provider/lib/helpers/interaction_policy/prompts/consent.js +2 -5
  87. package/dist/node_modules/oidc-provider/lib/helpers/interaction_policy/prompts/login.js +3 -6
  88. package/dist/node_modules/oidc-provider/lib/helpers/is_valid_scope.js +5 -0
  89. package/dist/node_modules/oidc-provider/lib/helpers/jwt.js +26 -11
  90. package/dist/node_modules/oidc-provider/lib/helpers/keystore.js +2 -4
  91. package/dist/node_modules/oidc-provider/lib/helpers/lru.js +111 -0
  92. package/dist/node_modules/oidc-provider/lib/helpers/nanoid.js +80 -3
  93. package/dist/node_modules/oidc-provider/lib/helpers/normalize_authorization_details.js +54 -0
  94. package/dist/node_modules/oidc-provider/lib/helpers/oidc_context.js +18 -33
  95. package/dist/node_modules/oidc-provider/lib/helpers/params.js +8 -19
  96. package/dist/node_modules/oidc-provider/lib/helpers/pkce.js +5 -5
  97. package/dist/node_modules/oidc-provider/lib/helpers/process_response_types.js +23 -14
  98. package/dist/node_modules/oidc-provider/lib/helpers/re_render_errors.js +4 -6
  99. package/dist/node_modules/oidc-provider/lib/helpers/resolve_resource.js +5 -2
  100. package/dist/node_modules/oidc-provider/lib/helpers/resource_server.js +0 -2
  101. package/dist/node_modules/oidc-provider/lib/helpers/revoke.js +9 -2
  102. package/dist/node_modules/oidc-provider/lib/helpers/router.js +221 -0
  103. package/dist/node_modules/oidc-provider/lib/helpers/sector_validate.js +19 -13
  104. package/dist/node_modules/oidc-provider/lib/helpers/sender_constraints.js +24 -0
  105. package/dist/node_modules/oidc-provider/lib/helpers/set_rt_bindings.js +0 -2
  106. package/dist/node_modules/oidc-provider/lib/helpers/token_find.js +36 -43
  107. package/dist/node_modules/oidc-provider/lib/helpers/user_codes.js +1 -1
  108. package/dist/node_modules/oidc-provider/lib/helpers/validate_dpop.js +40 -21
  109. package/dist/node_modules/oidc-provider/lib/helpers/weak_cache.js +4 -4
  110. package/dist/node_modules/oidc-provider/lib/index.js +1 -3
  111. package/dist/node_modules/oidc-provider/lib/models/access_token.js +42 -17
  112. package/dist/node_modules/oidc-provider/lib/models/authorization_code.js +39 -17
  113. package/dist/node_modules/oidc-provider/lib/models/backchannel_authentication_request.js +37 -15
  114. package/dist/node_modules/oidc-provider/lib/models/base_model.js +42 -21
  115. package/dist/node_modules/oidc-provider/lib/models/base_token.js +5 -3
  116. package/dist/node_modules/oidc-provider/lib/models/client.js +113 -67
  117. package/dist/node_modules/oidc-provider/lib/models/client_credentials.js +30 -9
  118. package/dist/node_modules/oidc-provider/lib/models/device_code.js +40 -17
  119. package/dist/node_modules/oidc-provider/lib/models/formats/index.js +20 -12
  120. package/dist/node_modules/oidc-provider/lib/models/formats/jwt.js +165 -166
  121. package/dist/node_modules/oidc-provider/lib/models/formats/opaque.js +57 -48
  122. package/dist/node_modules/oidc-provider/lib/models/grant.js +1 -9
  123. package/dist/node_modules/oidc-provider/lib/models/id_token.js +13 -14
  124. package/dist/node_modules/oidc-provider/lib/models/index.js +2 -0
  125. package/dist/node_modules/oidc-provider/lib/models/initial_access_token.js +14 -8
  126. package/dist/node_modules/oidc-provider/lib/models/interaction.js +2 -4
  127. package/dist/node_modules/oidc-provider/lib/models/payload.js +33 -0
  128. package/dist/node_modules/oidc-provider/lib/models/pre_authorized_code.js +28 -0
  129. package/dist/node_modules/oidc-provider/lib/models/pushed_authorization_request.js +17 -9
  130. package/dist/node_modules/oidc-provider/lib/models/refresh_token.js +57 -25
  131. package/dist/node_modules/oidc-provider/lib/models/registration_access_token.js +20 -7
  132. package/dist/node_modules/oidc-provider/lib/models/replay_detection.js +1 -3
  133. package/dist/node_modules/oidc-provider/lib/models/session.js +12 -16
  134. package/dist/node_modules/oidc-provider/lib/models/token_helpers.js +79 -0
  135. package/dist/node_modules/oidc-provider/lib/provider.js +50 -23
  136. package/dist/node_modules/oidc-provider/lib/response_modes/index.js +0 -2
  137. package/dist/node_modules/oidc-provider/lib/response_modes/jwt.js +0 -1
  138. package/dist/node_modules/oidc-provider/lib/response_modes/web_message.js +14 -4
  139. package/dist/node_modules/oidc-provider/lib/shared/access_token.js +85 -0
  140. package/dist/node_modules/oidc-provider/lib/shared/assemble_params.js +1 -1
  141. package/dist/node_modules/oidc-provider/lib/shared/attest_client_auth.js +39 -16
  142. package/dist/node_modules/oidc-provider/lib/shared/authorization_error_handler.js +79 -77
  143. package/dist/node_modules/oidc-provider/lib/shared/check_rar.js +13 -28
  144. package/dist/node_modules/oidc-provider/lib/shared/check_resource.js +20 -11
  145. package/dist/node_modules/oidc-provider/lib/shared/client_auth.js +265 -201
  146. package/dist/node_modules/oidc-provider/lib/shared/cors.js +48 -16
  147. package/dist/node_modules/oidc-provider/lib/shared/error_handler.js +13 -4
  148. package/dist/node_modules/oidc-provider/lib/shared/jwt_client_auth.js +9 -3
  149. package/dist/node_modules/oidc-provider/lib/shared/reject_dupes.js +12 -32
  150. package/dist/node_modules/oidc-provider/lib/shared/selective_body.js +54 -14
  151. package/dist/node_modules/oidc-provider/lib/shared/session.js +6 -6
  152. package/dist/node_modules/oidc-provider/lib/shared/set_www_authenticate_header.js +1 -2
  153. package/dist/node_modules/oidc-provider/lib/shared/validate_json_body.js +11 -0
  154. package/dist/node_modules/oidc-provider/lib/views/index.js +43 -14
  155. package/dist/node_modules/oidc-provider/lib/views/interaction.js +62 -144
  156. package/dist/node_modules/oidc-provider/lib/views/layout.js +29 -216
  157. package/dist/node_modules/oidc-provider/lib/views/login.js +14 -23
  158. package/dist/node_modules/{undici/lib/web/fetch/LICENSE → oidc-provider/node_modules/jose/LICENSE.md} +2 -2
  159. package/dist/node_modules/oidc-provider/node_modules/jose/README.md +150 -0
  160. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/index.d.ts +55 -0
  161. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwe/compact/decrypt.d.ts +24 -0
  162. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwe/compact/encrypt.d.ts +40 -0
  163. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwe/flattened/decrypt.d.ts +24 -0
  164. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwe/flattened/encrypt.d.ts +46 -0
  165. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwe/general/decrypt.d.ts +28 -0
  166. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwe/general/encrypt.d.ts +51 -0
  167. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwk/embedded.d.ts +10 -0
  168. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwk/thumbprint.d.ts +15 -0
  169. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwks/local.d.ts +17 -0
  170. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwks/remote.d.ts +94 -0
  171. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jws/compact/sign.d.ts +20 -0
  172. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jws/compact/verify.d.ts +25 -0
  173. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jws/flattened/sign.d.ts +22 -0
  174. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jws/flattened/verify.d.ts +25 -0
  175. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jws/general/sign.d.ts +38 -0
  176. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jws/general/verify.d.ts +29 -0
  177. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwt/decrypt.d.ts +34 -0
  178. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwt/encrypt.d.ts +57 -0
  179. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwt/sign.d.ts +21 -0
  180. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwt/unsecured.d.ts +19 -0
  181. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/jwt/verify.d.ts +35 -0
  182. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/key/export.d.ts +19 -0
  183. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/key/generate_key_pair.d.ts +33 -0
  184. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/key/generate_secret.d.ts +30 -0
  185. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/key/import.d.ts +67 -0
  186. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/types.d.ts +736 -0
  187. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/util/base64url.d.ts +16 -0
  188. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/util/decode_jwt.d.ts +8 -0
  189. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/util/decode_protected_header.d.ts +10 -0
  190. package/dist/node_modules/oidc-provider/node_modules/jose/dist/types/util/errors.d.ts +182 -0
  191. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/index.js +70 -0
  192. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwe/compact/decrypt.js +7 -0
  193. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwe/compact/encrypt.js +26 -0
  194. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwe/flattened/decrypt.js +15 -0
  195. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwe/flattened/encrypt.js +35 -0
  196. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwe/general/decrypt.js +40 -0
  197. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwe/general/encrypt.js +105 -0
  198. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwk/embedded.js +30 -0
  199. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwk/thumbprint.js +55 -0
  200. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwks/local.js +59 -0
  201. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwks/remote.js +101 -0
  202. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jws/compact/sign.js +20 -0
  203. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jws/compact/verify.js +8 -0
  204. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jws/flattened/sign.js +23 -0
  205. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jws/flattened/verify.js +12 -0
  206. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jws/general/sign.js +58 -0
  207. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jws/general/verify.js +48 -0
  208. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwt/decrypt.js +13 -0
  209. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwt/encrypt.js +45 -0
  210. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwt/sign.js +19 -0
  211. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwt/unsecured.js +34 -0
  212. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/jwt/verify.js +13 -0
  213. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/key/export.js +35 -0
  214. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/key/generate_key_pair.js +35 -0
  215. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/key/generate_secret.js +36 -0
  216. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/key/import.js +53 -0
  217. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/asn1.js +138 -0
  218. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/buffer_utils.js +75 -0
  219. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/content_encryption.js +90 -0
  220. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/deflate.js +40 -0
  221. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/jwe_algorithms.js +116 -0
  222. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/jwe_decrypt.js +187 -0
  223. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/jwe_encrypt.js +75 -0
  224. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/jws_algorithms.js +74 -0
  225. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/jws_sign.js +46 -0
  226. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/jws_verify.js +86 -0
  227. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/jwt_claims_set.js +146 -0
  228. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/key.js +155 -0
  229. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/key_algorithm.js +15 -0
  230. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/key_descriptor.js +9 -0
  231. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/key_management.js +196 -0
  232. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/lib/validate.js +122 -0
  233. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/util/base64url.js +16 -0
  234. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/util/decode_jwt.js +33 -0
  235. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/util/decode_protected_header.js +19 -0
  236. package/dist/node_modules/oidc-provider/node_modules/jose/dist/webapi/util/errors.js +109 -0
  237. package/dist/node_modules/oidc-provider/node_modules/jose/package.json +134 -0
  238. package/dist/node_modules/oidc-provider/node_modules/{jsesc/LICENSE-MIT.txt → koa/LICENSE} +10 -8
  239. package/dist/node_modules/oidc-provider/node_modules/koa/Readme.md +279 -0
  240. package/dist/node_modules/oidc-provider/node_modules/koa/dist/koa.mjs +4 -0
  241. package/dist/node_modules/oidc-provider/node_modules/koa/lib/application.js +344 -0
  242. package/dist/node_modules/oidc-provider/node_modules/koa/lib/context.js +248 -0
  243. package/dist/node_modules/oidc-provider/node_modules/koa/lib/is-stream.js +20 -0
  244. package/dist/node_modules/oidc-provider/node_modules/koa/lib/only.js +9 -0
  245. package/dist/node_modules/oidc-provider/node_modules/koa/lib/request.js +748 -0
  246. package/dist/node_modules/oidc-provider/node_modules/koa/lib/response.js +660 -0
  247. package/dist/node_modules/oidc-provider/node_modules/koa/lib/search-params.js +33 -0
  248. package/dist/node_modules/oidc-provider/node_modules/koa/package.json +73 -0
  249. package/dist/node_modules/oidc-provider/node_modules/media-typer/HISTORY.md +50 -0
  250. package/dist/node_modules/oidc-provider/node_modules/media-typer/LICENSE +22 -0
  251. package/dist/node_modules/oidc-provider/node_modules/media-typer/README.md +93 -0
  252. package/dist/node_modules/oidc-provider/node_modules/media-typer/index.js +143 -0
  253. package/dist/node_modules/oidc-provider/node_modules/media-typer/package.json +33 -0
  254. package/dist/node_modules/oidc-provider/node_modules/mime-db/HISTORY.md +541 -0
  255. package/dist/node_modules/oidc-provider/node_modules/mime-db/LICENSE +23 -0
  256. package/dist/node_modules/oidc-provider/node_modules/mime-db/README.md +109 -0
  257. package/dist/node_modules/oidc-provider/node_modules/mime-db/db.json +9342 -0
  258. package/dist/node_modules/oidc-provider/node_modules/mime-db/index.js +12 -0
  259. package/dist/node_modules/oidc-provider/node_modules/mime-db/package.json +56 -0
  260. package/dist/node_modules/oidc-provider/node_modules/mime-types/HISTORY.md +421 -0
  261. package/dist/node_modules/oidc-provider/node_modules/mime-types/LICENSE +23 -0
  262. package/dist/node_modules/oidc-provider/node_modules/mime-types/README.md +126 -0
  263. package/dist/node_modules/oidc-provider/node_modules/mime-types/index.js +211 -0
  264. package/dist/node_modules/oidc-provider/node_modules/mime-types/mimeScore.js +52 -0
  265. package/dist/node_modules/oidc-provider/node_modules/mime-types/package.json +45 -0
  266. package/dist/node_modules/oidc-provider/node_modules/type-is/HISTORY.md +292 -0
  267. package/dist/node_modules/oidc-provider/node_modules/type-is/LICENSE +23 -0
  268. package/dist/node_modules/oidc-provider/node_modules/type-is/README.md +198 -0
  269. package/dist/node_modules/oidc-provider/node_modules/type-is/index.js +250 -0
  270. package/dist/node_modules/oidc-provider/node_modules/type-is/node_modules/mime-types/HISTORY.md +428 -0
  271. package/dist/node_modules/oidc-provider/node_modules/type-is/node_modules/mime-types/LICENSE +23 -0
  272. package/dist/node_modules/oidc-provider/node_modules/type-is/node_modules/mime-types/README.md +126 -0
  273. package/dist/node_modules/oidc-provider/node_modules/type-is/node_modules/mime-types/index.js +211 -0
  274. package/dist/node_modules/oidc-provider/node_modules/type-is/node_modules/mime-types/mimeScore.js +57 -0
  275. package/dist/node_modules/oidc-provider/node_modules/type-is/node_modules/mime-types/package.json +49 -0
  276. package/dist/node_modules/oidc-provider/node_modules/type-is/package.json +47 -0
  277. package/dist/node_modules/oidc-provider/package.json +5 -42
  278. package/dist/server/service.js +7 -2
  279. package/package.json +3 -3
  280. package/dist/node_modules/eta/LICENSE +0 -7
  281. package/dist/node_modules/eta/README.md +0 -185
  282. package/dist/node_modules/eta/dist/core.d.ts +0 -179
  283. package/dist/node_modules/eta/dist/core.d.ts.map +0 -1
  284. package/dist/node_modules/eta/dist/core.js +0 -42
  285. package/dist/node_modules/eta/dist/core.js.map +0 -1
  286. package/dist/node_modules/eta/dist/index.cjs +0 -542
  287. package/dist/node_modules/eta/dist/index.cjs.map +0 -1
  288. package/dist/node_modules/eta/dist/index.d.cts +0 -187
  289. package/dist/node_modules/eta/dist/index.d.cts.map +0 -1
  290. package/dist/node_modules/eta/dist/index.d.mts +0 -187
  291. package/dist/node_modules/eta/dist/index.d.mts.map +0 -1
  292. package/dist/node_modules/eta/dist/index.mjs +0 -512
  293. package/dist/node_modules/eta/dist/index.mjs.map +0 -1
  294. package/dist/node_modules/eta/package.json +0 -75
  295. package/dist/node_modules/oidc-provider/lib/actions/authorization/assign_claims.js +0 -28
  296. package/dist/node_modules/oidc-provider/lib/actions/authorization/assign_defaults.js +0 -17
  297. package/dist/node_modules/oidc-provider/lib/actions/authorization/authenticated_client_id.js +0 -6
  298. package/dist/node_modules/oidc-provider/lib/actions/authorization/backchannel_request_remap_errors.js +0 -17
  299. package/dist/node_modules/oidc-provider/lib/actions/authorization/backchannel_request_response.js +0 -41
  300. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_ciba_context.js +0 -12
  301. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_claims.js +0 -68
  302. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_client.js +0 -21
  303. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_client_grant_type.js +0 -21
  304. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_dpop_jkt.js +0 -35
  305. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_extra_params.js +0 -18
  306. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_id_token_hint.js +0 -23
  307. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_max_age.js +0 -25
  308. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_openid_scope.js +0 -47
  309. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_prompt.js +0 -25
  310. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_redirect_uri.js +0 -41
  311. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_requested_expiry.js +0 -16
  312. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_response_mode.js +0 -54
  313. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_response_type.js +0 -26
  314. package/dist/node_modules/oidc-provider/lib/actions/authorization/check_scope.js +0 -53
  315. package/dist/node_modules/oidc-provider/lib/actions/authorization/ciba_load_account.js +0 -58
  316. package/dist/node_modules/oidc-provider/lib/actions/authorization/ciba_required.js +0 -13
  317. package/dist/node_modules/oidc-provider/lib/actions/authorization/device_authorization_response.js +0 -31
  318. package/dist/node_modules/oidc-provider/lib/actions/authorization/device_user_flow.js +0 -31
  319. package/dist/node_modules/oidc-provider/lib/actions/authorization/device_user_flow_errors.js +0 -37
  320. package/dist/node_modules/oidc-provider/lib/actions/authorization/device_user_flow_response.js +0 -55
  321. package/dist/node_modules/oidc-provider/lib/actions/authorization/interaction_emit.js +0 -9
  322. package/dist/node_modules/oidc-provider/lib/actions/authorization/load_account.js +0 -15
  323. package/dist/node_modules/oidc-provider/lib/actions/authorization/load_pushed_authorization_request.js +0 -36
  324. package/dist/node_modules/oidc-provider/lib/actions/authorization/oauth_required.js +0 -11
  325. package/dist/node_modules/oidc-provider/lib/actions/authorization/oidc_required.js +0 -27
  326. package/dist/node_modules/oidc-provider/lib/actions/authorization/one_redirect_uri_clients.js +0 -20
  327. package/dist/node_modules/oidc-provider/lib/actions/authorization/pushed_authorization_request_remap_errors.js +0 -17
  328. package/dist/node_modules/oidc-provider/lib/actions/authorization/pushed_authorization_request_response.js +0 -65
  329. package/dist/node_modules/oidc-provider/lib/actions/authorization/reject_registration.js +0 -12
  330. package/dist/node_modules/oidc-provider/lib/actions/authorization/reject_request_and_uri.js +0 -12
  331. package/dist/node_modules/oidc-provider/lib/actions/authorization/reject_unsupported.js +0 -33
  332. package/dist/node_modules/oidc-provider/lib/actions/authorization/strip_outside_jar_params.js +0 -19
  333. package/dist/node_modules/oidc-provider/lib/actions/authorization/unsupported_rar.js +0 -9
  334. package/dist/node_modules/oidc-provider/lib/helpers/_/pick_by.js +0 -10
  335. package/dist/node_modules/oidc-provider/lib/models/formats/dynamic.js +0 -21
  336. package/dist/node_modules/oidc-provider/lib/models/mixins/apply.js +0 -4
  337. package/dist/node_modules/oidc-provider/lib/models/mixins/consumable.js +0 -17
  338. package/dist/node_modules/oidc-provider/lib/models/mixins/has_format.js +0 -46
  339. package/dist/node_modules/oidc-provider/lib/models/mixins/has_grant_id.js +0 -12
  340. package/dist/node_modules/oidc-provider/lib/models/mixins/has_grant_type.js +0 -8
  341. package/dist/node_modules/oidc-provider/lib/models/mixins/has_policies.js +0 -38
  342. package/dist/node_modules/oidc-provider/lib/models/mixins/is_attestation_constrained.js +0 -15
  343. package/dist/node_modules/oidc-provider/lib/models/mixins/is_sender_constrained.js +0 -50
  344. package/dist/node_modules/oidc-provider/lib/models/mixins/is_session_bound.js +0 -38
  345. package/dist/node_modules/oidc-provider/lib/models/mixins/set_audience.js +0 -21
  346. package/dist/node_modules/oidc-provider/lib/models/mixins/stores_auth.js +0 -16
  347. package/dist/node_modules/oidc-provider/lib/models/mixins/stores_pkce.js +0 -9
  348. package/dist/node_modules/oidc-provider/lib/shared/conditional_body.js +0 -9
  349. package/dist/node_modules/oidc-provider/node_modules/@koa/router/LICENSE +0 -21
  350. package/dist/node_modules/oidc-provider/node_modules/@koa/router/README.md +0 -1370
  351. package/dist/node_modules/oidc-provider/node_modules/@koa/router/dist/index.d.mts +0 -1003
  352. package/dist/node_modules/oidc-provider/node_modules/@koa/router/dist/index.d.ts +0 -1003
  353. package/dist/node_modules/oidc-provider/node_modules/@koa/router/dist/index.js +0 -1616
  354. package/dist/node_modules/oidc-provider/node_modules/@koa/router/dist/index.mjs +0 -1573
  355. package/dist/node_modules/oidc-provider/node_modules/@koa/router/package.json +0 -122
  356. package/dist/node_modules/oidc-provider/node_modules/http-errors/HISTORY.md +0 -186
  357. package/dist/node_modules/oidc-provider/node_modules/http-errors/LICENSE +0 -23
  358. package/dist/node_modules/oidc-provider/node_modules/http-errors/README.md +0 -169
  359. package/dist/node_modules/oidc-provider/node_modules/http-errors/index.js +0 -290
  360. package/dist/node_modules/oidc-provider/node_modules/http-errors/package.json +0 -54
  361. package/dist/node_modules/oidc-provider/node_modules/jsesc/README.md +0 -422
  362. package/dist/node_modules/oidc-provider/node_modules/jsesc/bin/jsesc +0 -148
  363. package/dist/node_modules/oidc-provider/node_modules/jsesc/jsesc.js +0 -337
  364. package/dist/node_modules/oidc-provider/node_modules/jsesc/man/jsesc.1 +0 -94
  365. package/dist/node_modules/oidc-provider/node_modules/jsesc/package.json +0 -56
  366. package/dist/node_modules/oidc-provider/node_modules/nanoid/LICENSE +0 -20
  367. package/dist/node_modules/oidc-provider/node_modules/nanoid/README.md +0 -38
  368. package/dist/node_modules/oidc-provider/node_modules/nanoid/bin/nanoid.js +0 -55
  369. package/dist/node_modules/oidc-provider/node_modules/nanoid/index.browser.js +0 -29
  370. package/dist/node_modules/oidc-provider/node_modules/nanoid/index.d.ts +0 -106
  371. package/dist/node_modules/oidc-provider/node_modules/nanoid/index.js +0 -47
  372. package/dist/node_modules/oidc-provider/node_modules/nanoid/nanoid.js +0 -1
  373. package/dist/node_modules/oidc-provider/node_modules/nanoid/non-secure/index.d.ts +0 -48
  374. package/dist/node_modules/oidc-provider/node_modules/nanoid/non-secure/index.js +0 -21
  375. package/dist/node_modules/oidc-provider/node_modules/nanoid/package.json +0 -46
  376. package/dist/node_modules/oidc-provider/node_modules/nanoid/url-alphabet/index.js +0 -2
  377. package/dist/node_modules/oidc-provider/node_modules/path-to-regexp/LICENSE +0 -21
  378. package/dist/node_modules/oidc-provider/node_modules/path-to-regexp/Readme.md +0 -224
  379. package/dist/node_modules/oidc-provider/node_modules/path-to-regexp/dist/index.d.ts +0 -147
  380. package/dist/node_modules/oidc-provider/node_modules/path-to-regexp/dist/index.js +0 -431
  381. package/dist/node_modules/oidc-provider/node_modules/path-to-regexp/dist/index.js.map +0 -1
  382. package/dist/node_modules/oidc-provider/node_modules/path-to-regexp/package.json +0 -64
  383. package/dist/node_modules/quick-lru/index.d.ts +0 -178
  384. package/dist/node_modules/quick-lru/index.js +0 -329
  385. package/dist/node_modules/quick-lru/license +0 -9
  386. package/dist/node_modules/quick-lru/package.json +0 -54
  387. package/dist/node_modules/quick-lru/readme.md +0 -236
  388. package/dist/node_modules/statuses/HISTORY.md +0 -87
  389. package/dist/node_modules/statuses/LICENSE +0 -23
  390. package/dist/node_modules/statuses/README.md +0 -139
  391. package/dist/node_modules/statuses/codes.json +0 -65
  392. package/dist/node_modules/statuses/index.js +0 -146
  393. package/dist/node_modules/statuses/package.json +0 -49
  394. package/dist/node_modules/undici/LICENSE +0 -21
  395. package/dist/node_modules/undici/README.md +0 -741
  396. package/dist/node_modules/undici/docs/docs/api/Agent.md +0 -84
  397. package/dist/node_modules/undici/docs/docs/api/BalancedPool.md +0 -99
  398. package/dist/node_modules/undici/docs/docs/api/CacheStorage.md +0 -30
  399. package/dist/node_modules/undici/docs/docs/api/CacheStore.md +0 -164
  400. package/dist/node_modules/undici/docs/docs/api/Client.md +0 -285
  401. package/dist/node_modules/undici/docs/docs/api/ClientStats.md +0 -27
  402. package/dist/node_modules/undici/docs/docs/api/Connector.md +0 -115
  403. package/dist/node_modules/undici/docs/docs/api/ContentType.md +0 -57
  404. package/dist/node_modules/undici/docs/docs/api/Cookies.md +0 -101
  405. package/dist/node_modules/undici/docs/docs/api/Debug.md +0 -62
  406. package/dist/node_modules/undici/docs/docs/api/DiagnosticsChannel.md +0 -315
  407. package/dist/node_modules/undici/docs/docs/api/Dispatcher.md +0 -1392
  408. package/dist/node_modules/undici/docs/docs/api/EnvHttpProxyAgent.md +0 -159
  409. package/dist/node_modules/undici/docs/docs/api/Errors.md +0 -49
  410. package/dist/node_modules/undici/docs/docs/api/EventSource.md +0 -45
  411. package/dist/node_modules/undici/docs/docs/api/Fetch.md +0 -60
  412. package/dist/node_modules/undici/docs/docs/api/GlobalInstallation.md +0 -139
  413. package/dist/node_modules/undici/docs/docs/api/H2CClient.md +0 -263
  414. package/dist/node_modules/undici/docs/docs/api/MockAgent.md +0 -603
  415. package/dist/node_modules/undici/docs/docs/api/MockCallHistory.md +0 -197
  416. package/dist/node_modules/undici/docs/docs/api/MockCallHistoryLog.md +0 -43
  417. package/dist/node_modules/undici/docs/docs/api/MockClient.md +0 -81
  418. package/dist/node_modules/undici/docs/docs/api/MockErrors.md +0 -12
  419. package/dist/node_modules/undici/docs/docs/api/MockPool.md +0 -555
  420. package/dist/node_modules/undici/docs/docs/api/Pool.md +0 -84
  421. package/dist/node_modules/undici/docs/docs/api/PoolStats.md +0 -35
  422. package/dist/node_modules/undici/docs/docs/api/ProxyAgent.md +0 -229
  423. package/dist/node_modules/undici/docs/docs/api/RedirectHandler.md +0 -93
  424. package/dist/node_modules/undici/docs/docs/api/RetryAgent.md +0 -50
  425. package/dist/node_modules/undici/docs/docs/api/RetryHandler.md +0 -118
  426. package/dist/node_modules/undici/docs/docs/api/RoundRobinPool.md +0 -145
  427. package/dist/node_modules/undici/docs/docs/api/SnapshotAgent.md +0 -616
  428. package/dist/node_modules/undici/docs/docs/api/Socks5ProxyAgent.md +0 -274
  429. package/dist/node_modules/undici/docs/docs/api/Util.md +0 -25
  430. package/dist/node_modules/undici/docs/docs/api/WebSocket.md +0 -141
  431. package/dist/node_modules/undici/docs/docs/api/api-lifecycle.md +0 -91
  432. package/dist/node_modules/undici/docs/docs/best-practices/client-certificate.md +0 -64
  433. package/dist/node_modules/undici/docs/docs/best-practices/crawling.md +0 -58
  434. package/dist/node_modules/undici/docs/docs/best-practices/mocking-request.md +0 -190
  435. package/dist/node_modules/undici/docs/docs/best-practices/proxy.md +0 -127
  436. package/dist/node_modules/undici/docs/docs/best-practices/undici-vs-builtin-fetch.md +0 -224
  437. package/dist/node_modules/undici/docs/docs/best-practices/writing-tests.md +0 -63
  438. package/dist/node_modules/undici/index-fetch.js +0 -65
  439. package/dist/node_modules/undici/index.d.ts +0 -3
  440. package/dist/node_modules/undici/index.js +0 -234
  441. package/dist/node_modules/undici/lib/api/abort-signal.js +0 -59
  442. package/dist/node_modules/undici/lib/api/api-connect.js +0 -110
  443. package/dist/node_modules/undici/lib/api/api-pipeline.js +0 -252
  444. package/dist/node_modules/undici/lib/api/api-request.js +0 -214
  445. package/dist/node_modules/undici/lib/api/api-stream.js +0 -209
  446. package/dist/node_modules/undici/lib/api/api-upgrade.js +0 -111
  447. package/dist/node_modules/undici/lib/api/index.js +0 -7
  448. package/dist/node_modules/undici/lib/api/readable.js +0 -580
  449. package/dist/node_modules/undici/lib/cache/memory-cache-store.js +0 -234
  450. package/dist/node_modules/undici/lib/cache/sqlite-cache-store.js +0 -461
  451. package/dist/node_modules/undici/lib/core/connect.js +0 -137
  452. package/dist/node_modules/undici/lib/core/constants.js +0 -143
  453. package/dist/node_modules/undici/lib/core/diagnostics.js +0 -227
  454. package/dist/node_modules/undici/lib/core/errors.js +0 -477
  455. package/dist/node_modules/undici/lib/core/request.js +0 -438
  456. package/dist/node_modules/undici/lib/core/socks5-client.js +0 -407
  457. package/dist/node_modules/undici/lib/core/socks5-utils.js +0 -203
  458. package/dist/node_modules/undici/lib/core/symbols.js +0 -75
  459. package/dist/node_modules/undici/lib/core/tree.js +0 -160
  460. package/dist/node_modules/undici/lib/core/util.js +0 -992
  461. package/dist/node_modules/undici/lib/dispatcher/agent.js +0 -158
  462. package/dist/node_modules/undici/lib/dispatcher/balanced-pool.js +0 -219
  463. package/dist/node_modules/undici/lib/dispatcher/client-h1.js +0 -1610
  464. package/dist/node_modules/undici/lib/dispatcher/client-h2.js +0 -995
  465. package/dist/node_modules/undici/lib/dispatcher/client.js +0 -659
  466. package/dist/node_modules/undici/lib/dispatcher/dispatcher-base.js +0 -165
  467. package/dist/node_modules/undici/lib/dispatcher/dispatcher.js +0 -48
  468. package/dist/node_modules/undici/lib/dispatcher/env-http-proxy-agent.js +0 -146
  469. package/dist/node_modules/undici/lib/dispatcher/fixed-queue.js +0 -135
  470. package/dist/node_modules/undici/lib/dispatcher/h2c-client.js +0 -51
  471. package/dist/node_modules/undici/lib/dispatcher/pool-base.js +0 -214
  472. package/dist/node_modules/undici/lib/dispatcher/pool.js +0 -118
  473. package/dist/node_modules/undici/lib/dispatcher/proxy-agent.js +0 -318
  474. package/dist/node_modules/undici/lib/dispatcher/retry-agent.js +0 -35
  475. package/dist/node_modules/undici/lib/dispatcher/round-robin-pool.js +0 -137
  476. package/dist/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js +0 -249
  477. package/dist/node_modules/undici/lib/encoding/index.js +0 -33
  478. package/dist/node_modules/undici/lib/global.js +0 -50
  479. package/dist/node_modules/undici/lib/handler/cache-handler.js +0 -578
  480. package/dist/node_modules/undici/lib/handler/cache-revalidation-handler.js +0 -124
  481. package/dist/node_modules/undici/lib/handler/decorator-handler.js +0 -67
  482. package/dist/node_modules/undici/lib/handler/deduplication-handler.js +0 -460
  483. package/dist/node_modules/undici/lib/handler/redirect-handler.js +0 -238
  484. package/dist/node_modules/undici/lib/handler/retry-handler.js +0 -394
  485. package/dist/node_modules/undici/lib/handler/unwrap-handler.js +0 -100
  486. package/dist/node_modules/undici/lib/handler/wrap-handler.js +0 -105
  487. package/dist/node_modules/undici/lib/interceptor/cache.js +0 -495
  488. package/dist/node_modules/undici/lib/interceptor/decompress.js +0 -259
  489. package/dist/node_modules/undici/lib/interceptor/deduplicate.js +0 -117
  490. package/dist/node_modules/undici/lib/interceptor/dns.js +0 -571
  491. package/dist/node_modules/undici/lib/interceptor/dump.js +0 -112
  492. package/dist/node_modules/undici/lib/interceptor/redirect.js +0 -21
  493. package/dist/node_modules/undici/lib/interceptor/response-error.js +0 -95
  494. package/dist/node_modules/undici/lib/interceptor/retry.js +0 -19
  495. package/dist/node_modules/undici/lib/llhttp/.gitkeep +0 -0
  496. package/dist/node_modules/undici/lib/llhttp/constants.d.ts +0 -195
  497. package/dist/node_modules/undici/lib/llhttp/constants.js +0 -531
  498. package/dist/node_modules/undici/lib/llhttp/llhttp-wasm.js +0 -15
  499. package/dist/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +0 -15
  500. package/dist/node_modules/undici/lib/llhttp/utils.d.ts +0 -2
  501. package/dist/node_modules/undici/lib/llhttp/utils.js +0 -12
  502. package/dist/node_modules/undici/lib/mock/mock-agent.js +0 -232
  503. package/dist/node_modules/undici/lib/mock/mock-call-history.js +0 -248
  504. package/dist/node_modules/undici/lib/mock/mock-client.js +0 -68
  505. package/dist/node_modules/undici/lib/mock/mock-errors.js +0 -29
  506. package/dist/node_modules/undici/lib/mock/mock-interceptor.js +0 -209
  507. package/dist/node_modules/undici/lib/mock/mock-pool.js +0 -68
  508. package/dist/node_modules/undici/lib/mock/mock-symbols.js +0 -32
  509. package/dist/node_modules/undici/lib/mock/mock-utils.js +0 -486
  510. package/dist/node_modules/undici/lib/mock/pending-interceptors-formatter.js +0 -43
  511. package/dist/node_modules/undici/lib/mock/snapshot-agent.js +0 -353
  512. package/dist/node_modules/undici/lib/mock/snapshot-recorder.js +0 -588
  513. package/dist/node_modules/undici/lib/mock/snapshot-utils.js +0 -158
  514. package/dist/node_modules/undici/lib/util/cache.js +0 -407
  515. package/dist/node_modules/undici/lib/util/date.js +0 -653
  516. package/dist/node_modules/undici/lib/util/promise.js +0 -28
  517. package/dist/node_modules/undici/lib/util/runtime-features.js +0 -124
  518. package/dist/node_modules/undici/lib/util/stats.js +0 -32
  519. package/dist/node_modules/undici/lib/util/timers.js +0 -425
  520. package/dist/node_modules/undici/lib/web/cache/cache.js +0 -864
  521. package/dist/node_modules/undici/lib/web/cache/cachestorage.js +0 -152
  522. package/dist/node_modules/undici/lib/web/cache/util.js +0 -45
  523. package/dist/node_modules/undici/lib/web/cookies/constants.js +0 -12
  524. package/dist/node_modules/undici/lib/web/cookies/index.js +0 -199
  525. package/dist/node_modules/undici/lib/web/cookies/parse.js +0 -322
  526. package/dist/node_modules/undici/lib/web/cookies/util.js +0 -282
  527. package/dist/node_modules/undici/lib/web/eventsource/eventsource-stream.js +0 -399
  528. package/dist/node_modules/undici/lib/web/eventsource/eventsource.js +0 -501
  529. package/dist/node_modules/undici/lib/web/eventsource/util.js +0 -29
  530. package/dist/node_modules/undici/lib/web/fetch/body.js +0 -509
  531. package/dist/node_modules/undici/lib/web/fetch/constants.js +0 -131
  532. package/dist/node_modules/undici/lib/web/fetch/data-url.js +0 -596
  533. package/dist/node_modules/undici/lib/web/fetch/formdata-parser.js +0 -575
  534. package/dist/node_modules/undici/lib/web/fetch/formdata.js +0 -259
  535. package/dist/node_modules/undici/lib/web/fetch/global.js +0 -40
  536. package/dist/node_modules/undici/lib/web/fetch/headers.js +0 -719
  537. package/dist/node_modules/undici/lib/web/fetch/index.js +0 -2397
  538. package/dist/node_modules/undici/lib/web/fetch/request.js +0 -1115
  539. package/dist/node_modules/undici/lib/web/fetch/response.js +0 -641
  540. package/dist/node_modules/undici/lib/web/fetch/util.js +0 -1520
  541. package/dist/node_modules/undici/lib/web/infra/index.js +0 -229
  542. package/dist/node_modules/undici/lib/web/subresource-integrity/Readme.md +0 -9
  543. package/dist/node_modules/undici/lib/web/subresource-integrity/subresource-integrity.js +0 -307
  544. package/dist/node_modules/undici/lib/web/webidl/index.js +0 -1006
  545. package/dist/node_modules/undici/lib/web/websocket/connection.js +0 -329
  546. package/dist/node_modules/undici/lib/web/websocket/constants.js +0 -126
  547. package/dist/node_modules/undici/lib/web/websocket/events.js +0 -331
  548. package/dist/node_modules/undici/lib/web/websocket/frame.js +0 -133
  549. package/dist/node_modules/undici/lib/web/websocket/permessage-deflate.js +0 -118
  550. package/dist/node_modules/undici/lib/web/websocket/receiver.js +0 -450
  551. package/dist/node_modules/undici/lib/web/websocket/sender.js +0 -109
  552. package/dist/node_modules/undici/lib/web/websocket/stream/websocketerror.js +0 -104
  553. package/dist/node_modules/undici/lib/web/websocket/stream/websocketstream.js +0 -497
  554. package/dist/node_modules/undici/lib/web/websocket/util.js +0 -347
  555. package/dist/node_modules/undici/lib/web/websocket/websocket.js +0 -751
  556. package/dist/node_modules/undici/package.json +0 -152
  557. package/dist/node_modules/undici/scripts/strip-comments.js +0 -10
  558. package/dist/node_modules/undici/types/README.md +0 -6
  559. package/dist/node_modules/undici/types/agent.d.ts +0 -32
  560. package/dist/node_modules/undici/types/api.d.ts +0 -43
  561. package/dist/node_modules/undici/types/balanced-pool.d.ts +0 -30
  562. package/dist/node_modules/undici/types/cache-interceptor.d.ts +0 -179
  563. package/dist/node_modules/undici/types/cache.d.ts +0 -36
  564. package/dist/node_modules/undici/types/client-stats.d.ts +0 -15
  565. package/dist/node_modules/undici/types/client.d.ts +0 -123
  566. package/dist/node_modules/undici/types/connector.d.ts +0 -36
  567. package/dist/node_modules/undici/types/content-type.d.ts +0 -21
  568. package/dist/node_modules/undici/types/cookies.d.ts +0 -30
  569. package/dist/node_modules/undici/types/diagnostics-channel.d.ts +0 -74
  570. package/dist/node_modules/undici/types/dispatcher.d.ts +0 -273
  571. package/dist/node_modules/undici/types/env-http-proxy-agent.d.ts +0 -22
  572. package/dist/node_modules/undici/types/errors.d.ts +0 -177
  573. package/dist/node_modules/undici/types/eventsource.d.ts +0 -66
  574. package/dist/node_modules/undici/types/fetch.d.ts +0 -231
  575. package/dist/node_modules/undici/types/formdata.d.ts +0 -114
  576. package/dist/node_modules/undici/types/global-dispatcher.d.ts +0 -9
  577. package/dist/node_modules/undici/types/global-origin.d.ts +0 -7
  578. package/dist/node_modules/undici/types/h2c-client.d.ts +0 -73
  579. package/dist/node_modules/undici/types/handlers.d.ts +0 -14
  580. package/dist/node_modules/undici/types/header.d.ts +0 -160
  581. package/dist/node_modules/undici/types/index.d.ts +0 -91
  582. package/dist/node_modules/undici/types/interceptors.d.ts +0 -80
  583. package/dist/node_modules/undici/types/mock-agent.d.ts +0 -68
  584. package/dist/node_modules/undici/types/mock-call-history.d.ts +0 -111
  585. package/dist/node_modules/undici/types/mock-client.d.ts +0 -27
  586. package/dist/node_modules/undici/types/mock-errors.d.ts +0 -12
  587. package/dist/node_modules/undici/types/mock-interceptor.d.ts +0 -94
  588. package/dist/node_modules/undici/types/mock-pool.d.ts +0 -27
  589. package/dist/node_modules/undici/types/patch.d.ts +0 -29
  590. package/dist/node_modules/undici/types/pool-stats.d.ts +0 -19
  591. package/dist/node_modules/undici/types/pool.d.ts +0 -41
  592. package/dist/node_modules/undici/types/proxy-agent.d.ts +0 -29
  593. package/dist/node_modules/undici/types/readable.d.ts +0 -68
  594. package/dist/node_modules/undici/types/retry-agent.d.ts +0 -8
  595. package/dist/node_modules/undici/types/retry-handler.d.ts +0 -125
  596. package/dist/node_modules/undici/types/round-robin-pool.d.ts +0 -41
  597. package/dist/node_modules/undici/types/snapshot-agent.d.ts +0 -109
  598. package/dist/node_modules/undici/types/socks5-proxy-agent.d.ts +0 -25
  599. package/dist/node_modules/undici/types/util.d.ts +0 -18
  600. package/dist/node_modules/undici/types/utility.d.ts +0 -7
  601. package/dist/node_modules/undici/types/webidl.d.ts +0 -347
  602. package/dist/node_modules/undici/types/websocket.d.ts +0 -188
@@ -1,8 +1,7 @@
1
- /* eslint-disable no-plusplus, no-bitwise, no-param-reassign */
2
-
3
1
  import { hkdfSync } from 'node:crypto';
4
2
 
5
3
  import * as base64url from './base64url.js';
4
+ import epochTime from './epoch_time.js';
6
5
 
7
6
  function sixfourbeify(value) {
8
7
  const buf = Buffer.alloc(8);
@@ -41,21 +40,13 @@ const STEP = 60;
41
40
  export const CHALLENGE_OK_WINDOW = STEP * 5;
42
41
 
43
42
  export default class ServerChallenge {
44
- #counter;
45
-
46
43
  #info;
47
44
 
48
45
  #secret;
49
46
 
50
- #prevprev;
51
-
52
- #prev;
53
-
54
- #now;
55
-
56
- #next;
47
+ #step;
57
48
 
58
- #nextnext;
49
+ #values;
59
50
 
60
51
  constructor(secret, info) {
61
52
  if (!Buffer.isBuffer(secret) || secret.byteLength !== 32) {
@@ -68,44 +59,40 @@ export default class ServerChallenge {
68
59
 
69
60
  this.#info = info;
70
61
  this.#secret = Uint8Array.prototype.slice.call(secret);
71
- this.#counter = Math.floor(Date.now() / 1000 / STEP);
72
-
73
- [this.#prevprev, this.#prev, this.#now, this.#next, this.#nextnext] = [
74
- this.#counter - 2,
75
- this.#counter - 1,
76
- this.#counter,
77
- this.#counter + 1,
78
- this.#counter++ + 2,
79
- ].map(compute.bind(undefined, this.#secret, this.#info));
80
-
81
- setInterval(() => {
82
- [
83
- this.#prevprev,
84
- this.#prev,
85
- this.#now,
86
- this.#next,
87
- this.#nextnext,
88
- ] = [
89
- this.#prev,
90
- this.#now,
91
- this.#next,
92
- this.#nextnext,
93
- compute(this.#secret, this.#info, this.#counter++ + 2),
94
- ];
95
- }, STEP * 1000).unref();
62
+ }
63
+
64
+
65
+
66
+
67
+ #window() {
68
+ const step = Math.floor(epochTime() / STEP);
69
+
70
+ if (step !== this.#step) {
71
+ this.#step = step;
72
+ this.#values = [
73
+ step - 2,
74
+ step - 1,
75
+ step,
76
+ step + 1,
77
+ step + 2,
78
+ ].map(compute.bind(undefined, this.#secret, this.#info));
79
+ }
80
+
81
+ return this.#values;
96
82
  }
97
83
 
98
84
  nextChallenge() {
99
- return this.#next;
85
+ return this.#window()[3];
100
86
  }
101
87
 
102
88
  checkChallenge(challenge) {
103
- let result = 0;
89
+ let matched = 0;
104
90
 
105
- for (const server of [this.#prevprev, this.#prev, this.#now, this.#next, this.#nextnext]) {
106
- result ^= compare(server, challenge);
91
+ for (const server of this.#window()) {
92
+ const result = compare(server, challenge);
93
+ matched |= ((result | -result) >>> 31) ^ 1;
107
94
  }
108
95
 
109
- return result === 0;
96
+ return matched === 1;
110
97
  }
111
98
  }
@@ -2,6 +2,7 @@ import instance from './weak_cache.js';
2
2
  import pick from './_/pick.js';
3
3
  import merge from './_/merge.js';
4
4
  import isPlainObject from './_/is_plain_object.js';
5
+ import isJsonObject from './_/is_json_object.js';
5
6
 
6
7
  export default function getClaims(provider) {
7
8
  const {
@@ -46,7 +47,7 @@ export default function getClaims(provider) {
46
47
  const { available } = this;
47
48
  const include = Object.entries(this.filter)
48
49
  .map(([key, value]) => {
49
- if (value === null || isPlainObject(value)) {
50
+ if (value === null || isJsonObject(value)) {
50
51
  return key;
51
52
  }
52
53
 
@@ -1,11 +1,12 @@
1
1
  import { WEB_URI } from '../consts/client_attributes.js';
2
-
3
- import instance from './weak_cache.js';
4
2
  import addClient from './add_client.js';
5
3
  import als from './als.js';
4
+ import { boolean } from './configuration_result.js';
6
5
  import { InvalidClient, InvalidClientMetadata } from './errors.js';
7
6
  import fetchBodyCheck from './fetch_body_check.js';
8
7
  import fetchRequest from './fetch_request.js';
8
+ import LRU from './lru.js';
9
+ import instance from './weak_cache.js';
9
10
 
10
11
  const FORBIDDEN_AUTH_METHODS = new Set([
11
12
  'client_secret_basic',
@@ -13,49 +14,84 @@ const FORBIDDEN_AUTH_METHODS = new Set([
13
14
  'client_secret_jwt',
14
15
  ]);
15
16
 
17
+ function hasForbiddenRawUrlCodePoint(input) {
18
+ for (let i = 0; i < input.length; i++) {
19
+ const code = input.charCodeAt(i);
20
+ if (code <= 0x20 || code === 0x5c || code === 0x7f) {
21
+ return true;
22
+ }
23
+ }
24
+ return false;
25
+ }
26
+
16
27
  const cache = new WeakMap();
28
+ const pending = new WeakMap();
17
29
 
18
30
  function getCache(provider) {
19
31
  let entries = cache.get(provider);
20
32
  if (!entries) {
21
- entries = new Map();
33
+ entries = new LRU({ maxSize: 100 });
22
34
  cache.set(provider, entries);
23
35
  }
24
36
  return entries;
25
37
  }
26
38
 
39
+ function getPending(provider) {
40
+ let requests = pending.get(provider);
41
+ if (!requests) {
42
+ requests = new Map();
43
+ pending.set(provider, requests);
44
+ }
45
+ return requests;
46
+ }
47
+
27
48
  export function isValidClientIdUrl(id) {
49
+ if (
50
+ !/^https:\/\//iu.test(id)
51
+ || hasForbiddenRawUrlCodePoint(id)
52
+ ) {
53
+ return false;
54
+ }
55
+
28
56
  const url = URL.parse(id);
29
57
 
30
58
  if (!url) {
31
59
  return false;
32
60
  }
33
61
 
34
- // MUST have an "https" scheme
62
+
35
63
  if (url.protocol !== 'https:') {
36
64
  return false;
37
65
  }
38
66
 
39
- // MUST contain a path component (not just "/")
40
- if (!url.pathname || url.pathname === '/') {
67
+ const afterScheme = id.slice('https://'.length);
68
+ const authorityEnd = afterScheme.search(/[/?#]/u);
69
+ const authority = authorityEnd === -1 ? afterScheme : afterScheme.slice(0, authorityEnd);
70
+ if (!authority) {
41
71
  return false;
42
72
  }
43
73
 
44
- // MUST NOT contain single-dot or double-dot path segments
45
- // URL.parse normalizes dot segments, so check the raw input
46
- const rawPath = id.replace(/^https:\/\/[^/]*/i, '').split('?')[0].split('#')[0];
74
+
75
+
76
+ const pathStart = afterScheme.search(/[/?#]/u);
77
+ const rawPath = pathStart !== -1 && afterScheme[pathStart] === '/'
78
+ ? afterScheme.slice(pathStart).split('?')[0].split('#')[0]
79
+ : '/';
47
80
  const rawSegments = rawPath.split('/');
48
- if (rawSegments.some((seg) => seg === '.' || seg === '..')) {
81
+ if (rawSegments.some((seg) => {
82
+ const dotNormalized = seg.replace(/%2e/giu, '.');
83
+ return dotNormalized === '.' || dotNormalized === '..';
84
+ })) {
49
85
  return false;
50
86
  }
51
87
 
52
- // MUST NOT contain a fragment component
53
- if (url.hash) {
88
+
89
+ if (id.includes('#')) {
54
90
  return false;
55
91
  }
56
92
 
57
- // MUST NOT contain a username or password
58
- if (url.username || url.password) {
93
+
94
+ if (authority.includes('@')) {
59
95
  return false;
60
96
  }
61
97
 
@@ -90,33 +126,7 @@ function parseCacheDuration(response, { min, max }) {
90
126
  return Math.max(min, Math.min(max, duration));
91
127
  }
92
128
 
93
- export async function resolveClientByMetadataDocument(provider, id) {
94
- const {
95
- features: { clientIdMetadataDocument: feature },
96
- } = instance(provider).configuration;
97
-
98
- const ctx = als.getStore();
99
-
100
- const entries = getCache(provider);
101
-
102
- // Check cache
103
- const cached = entries.get(id);
104
- if (cached && cached.freshUntil > Date.now()) {
105
- const client = await addClient(provider, cached.properties, { cimd: true });
106
- Object.defineProperty(client, 'clientIdMetadataDocument', { value: true });
107
-
108
- if (!(await feature.allowClient(ctx, client))) {
109
- throw new InvalidClient('client is not allowed');
110
- }
111
-
112
- return client;
113
- }
114
-
115
- // Gate the fetch
116
- if (!(await feature.allowFetch(ctx, id))) {
117
- throw new InvalidClient('client_id metadata document fetch not allowed');
118
- }
119
-
129
+ async function fetchMetadataDocument(provider, id, cacheDuration) {
120
130
  let response;
121
131
  try {
122
132
  response = await fetchRequest(provider, id, {
@@ -126,48 +136,48 @@ export async function resolveClientByMetadataDocument(provider, id) {
126
136
  },
127
137
  redirect: 'manual',
128
138
  });
129
- } catch (err) {
130
- throw new InvalidClient('client_id metadata document fetch failed', err.message);
139
+ } catch (cause) {
140
+ throw new InvalidClient('client_id metadata document fetch failed', { cause });
131
141
  }
132
142
 
133
143
  if (response.status !== 200) {
134
- throw new InvalidClient('client_id metadata document fetch failed', `unexpected response status ${response.status}`);
144
+ throw new InvalidClient('client_id metadata document fetch failed', `unexpected response status ${response.status}`, { cause: response });
135
145
  }
136
146
 
137
147
  let bodyText;
138
148
  try {
139
149
  bodyText = (await fetchBodyCheck(provider, 'client_id metadata document', response)).toString();
140
- } catch (err) {
141
- throw new InvalidClient('client_id metadata document fetch failed', err.message);
150
+ } catch (cause) {
151
+ throw new InvalidClient('client_id metadata document fetch failed', { cause });
142
152
  }
143
153
 
144
154
  let properties;
145
155
  try {
146
156
  properties = JSON.parse(bodyText);
147
- } catch {
148
- throw new InvalidClient('client_id metadata document fetch failed', 'invalid JSON');
157
+ } catch (cause) {
158
+ throw new InvalidClient('client_id metadata document fetch failed', { cause });
149
159
  }
150
160
 
151
161
  if (typeof properties !== 'object' || properties === null || Array.isArray(properties)) {
152
162
  throw new InvalidClientMetadata('client_id metadata document is not a JSON object');
153
163
  }
154
164
 
155
- // client_id property MUST match the URL via simple string comparison
165
+
156
166
  if (properties.client_id !== id) {
157
167
  throw new InvalidClientMetadata('client_id metadata document client_id does not match the expected value');
158
168
  }
159
169
 
160
- // token_endpoint_auth_method MUST NOT be a shared-secret method
170
+
161
171
  if (FORBIDDEN_AUTH_METHODS.has(properties.token_endpoint_auth_method)) {
162
172
  throw new InvalidClientMetadata('client_id metadata document must not use shared-secret token endpoint authentication methods');
163
173
  }
164
174
 
165
- // client_secret and client_secret_expires_at MUST NOT be present
175
+
166
176
  if ('client_secret' in properties || 'client_secret_expires_at' in properties) {
167
177
  throw new InvalidClientMetadata('client_id metadata document must not contain client_secret or client_secret_expires_at');
168
178
  }
169
179
 
170
- // URI properties MUST be absolute URIs using the https: scheme
180
+
171
181
  for (const prop of WEB_URI) {
172
182
  if (prop in properties) {
173
183
  const uri = URL.parse(properties[prop]);
@@ -177,22 +187,81 @@ export async function resolveClientByMetadataDocument(provider, id) {
177
187
  }
178
188
  }
179
189
 
180
- // Compute cache TTL
181
- const ttl = parseCacheDuration(response, feature.cacheDuration);
190
+ return {
191
+ properties,
192
+ maxAge: parseCacheDuration(response, cacheDuration) * 1000,
193
+ };
194
+ }
182
195
 
196
+ async function createClient(provider, properties) {
183
197
  const client = await addClient(provider, properties, { cimd: true });
184
-
185
198
  Object.defineProperty(client, 'clientIdMetadataDocument', { value: true });
199
+ return client;
200
+ }
186
201
 
187
- // Cache the valid properties
188
- entries.set(id, {
189
- properties,
190
- freshUntil: Date.now() + (ttl * 1000),
191
- });
192
-
193
- if (!(await feature.allowClient(ctx, client))) {
202
+ async function assertClientAllowed(feature, ctx, client) {
203
+ if (!boolean(
204
+ await feature.allowClient(ctx, client),
205
+ 'features.clientIdMetadataDocument.allowClient',
206
+ )) {
194
207
  throw new InvalidClient('client is not allowed');
195
208
  }
209
+ }
210
+
211
+ async function resolveCachedClient(provider, feature, ctx, properties) {
212
+ const client = await createClient(provider, properties);
213
+ await assertClientAllowed(feature, ctx, client);
214
+ return client;
215
+ }
216
+
217
+ export async function resolveClientByMetadataDocument(provider, id) {
218
+ const {
219
+ features: { clientIdMetadataDocument: feature },
220
+ } = instance(provider).configuration;
221
+
222
+ const ctx = als.getStore();
223
+ const entries = getCache(provider);
224
+
225
+ let properties = entries.get(id);
226
+ if (properties) {
227
+ return resolveCachedClient(provider, feature, ctx, properties);
228
+ }
229
+
230
+ if (!boolean(
231
+ await feature.allowFetch(ctx, id),
232
+ 'features.clientIdMetadataDocument.allowFetch',
233
+ )) {
234
+ throw new InvalidClient('client_id metadata document fetch not allowed');
235
+ }
236
+
237
+
238
+ properties = entries.get(id);
239
+ if (properties) {
240
+ return resolveCachedClient(provider, feature, ctx, properties);
241
+ }
242
+
243
+ const requests = getPending(provider);
244
+ let request = requests.get(id);
245
+ if (!request) {
246
+ request = fetchMetadataDocument(provider, id, feature.cacheDuration);
247
+ requests.set(id, request);
248
+ }
249
+
250
+ let client;
251
+ try {
252
+ const fetched = await request;
253
+ client = await createClient(provider, fetched.properties);
254
+
255
+ if (!entries.has(id)) {
256
+ entries.set(id, fetched.properties, { maxAge: fetched.maxAge });
257
+ }
258
+ } finally {
259
+ if (requests.get(id) === request) {
260
+ requests.delete(id);
261
+ }
262
+ }
263
+
264
+ await assertClientAllowed(feature, ctx, client);
196
265
 
197
266
  return client;
198
267
  }
@@ -1,14 +1,14 @@
1
1
  import { CLIENT_ATTRIBUTES } from '../consts/index.js';
2
-
3
- import * as validUrl from './valid_url.js';
2
+ import omitBy from './_/omit_by.js';
3
+ import pick from './_/pick.js';
4
4
  import { InvalidClientMetadata } from './errors.js';
5
+ import * as formatters from './formatters.js';
5
6
  import sectorIdentifier from './sector_identifier.js';
7
+ import * as validUrl from './valid_url.js';
6
8
  import instance from './weak_cache.js';
7
- import * as formatters from './formatters.js';
8
- import pick from './_/pick.js';
9
- import omitBy from './_/omit_by.js';
10
9
 
11
10
  const W3CEmailRegExp = /^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/;
11
+ const FORBIDDEN_SCHEMES = new Set(['javascript:', 'vbscript:', 'data:', 'blob:', 'file:', 'about:']);
12
12
  const needsJwks = {
13
13
  jwe: /^(RSA|ECDH)/,
14
14
  jws: /^(?:(?:P|E|R)S(?:256|384|512)|Ed(?:DSA|25519)|ML-DSA-(?:44|65|87))$/,
@@ -30,6 +30,15 @@ function isUndefined(value) {
30
30
  return value === undefined;
31
31
  }
32
32
 
33
+ function isDenseArray(value) {
34
+ for (let index = 0; index < value.length; index++) {
35
+ if (!Object.hasOwn(value, index)) {
36
+ return false;
37
+ }
38
+ }
39
+ return true;
40
+ }
41
+
33
42
  export default function getSchema(provider) {
34
43
  const { configuration, features } = instance(provider);
35
44
  const { scopes } = configuration;
@@ -268,7 +277,7 @@ export default function getSchema(provider) {
268
277
  this.jarPolicy();
269
278
  this.parPolicy();
270
279
 
271
- // max_age and client_secret_expires_at format
280
+
272
281
  ['default_max_age', 'client_secret_expires_at'].forEach((prop) => {
273
282
  if (this[prop] !== undefined) {
274
283
  if (!Number.isSafeInteger(this[prop]) || Math.sign(this[prop]) === -1) {
@@ -277,7 +286,7 @@ export default function getSchema(provider) {
277
286
  }
278
287
  });
279
288
 
280
- const responseTypes = new Set(this.response_types.map((rt) => rt.split(' ')).flat());
289
+ const responseTypes = new Set(this.response_types.flatMap((rt) => rt.split(' ')));
281
290
 
282
291
  if (responseTypes.size && !this.redirect_uris.length) {
283
292
  const { pushedAuthorizationRequests: par } = features;
@@ -353,7 +362,7 @@ export default function getSchema(provider) {
353
362
  }
354
363
  }
355
364
 
356
- // SECTOR IDENTIFIER VALIDATION
365
+
357
366
  sectorIdentifier(this);
358
367
 
359
368
  if (this.jwks !== undefined && this.jwks_uri !== undefined) {
@@ -367,6 +376,9 @@ export default function getSchema(provider) {
367
376
  if (!Array.isArray(this[choice])) {
368
377
  this.invalidate(`${choice} must be an array`);
369
378
  }
379
+ if (!isDenseArray(this[choice])) {
380
+ this.invalidate(`${choice} must only contain strings`);
381
+ }
370
382
  const choices = new Set(this[choice]);
371
383
 
372
384
  if (this[target] !== undefined && !choices.has(this[target])) {
@@ -375,9 +387,9 @@ export default function getSchema(provider) {
375
387
 
376
388
  const only = ENUM[target](this);
377
389
 
378
- // test the options in the following order:
379
- // - explicit value (if provided)
380
- // - ...rest
390
+
391
+
392
+
381
393
  const options = new Set();
382
394
  if (this[target]) {
383
395
  options.add(this[target]);
@@ -406,7 +418,7 @@ export default function getSchema(provider) {
406
418
  }
407
419
  }
408
420
 
409
- invalidate(message, code) { // eslint-disable-line class-methods-use-this, no-unused-vars
421
+ invalidate(message, _code) {
410
422
  throw new InvalidClientMetadata(message);
411
423
  }
412
424
 
@@ -496,9 +508,9 @@ export default function getSchema(provider) {
496
508
  if (this[prop] !== undefined) {
497
509
  const isAry = ARYS.includes(prop);
498
510
  (isAry ? this[prop] : [this[prop]]).forEach((val) => {
499
- const method = HTTPS_URI.includes(prop) ? 'isHttpsUri' : 'isWebUri';
500
- const type = method === 'isWebUri' ? 'web' : 'https';
501
- if (!validUrl[method](val)) {
511
+ const method = HTTPS_URI.includes(prop) ? validUrl.isHttpsUri : validUrl.isWebUri;
512
+ const type = method === validUrl.isWebUri ? 'web' : 'https';
513
+ if (!method(val)) {
502
514
  this.invalidate(isAry
503
515
  ? `${prop} must only contain ${type} uris`
504
516
  : `${prop} must be a ${type} uri`);
@@ -514,6 +526,9 @@ export default function getSchema(provider) {
514
526
  if (!Array.isArray(this[prop])) {
515
527
  this.invalidate(`${prop} must be an array`);
516
528
  }
529
+ if (!isDenseArray(this[prop])) {
530
+ this.invalidate(`${prop} must only contain strings`);
531
+ }
517
532
  this[prop] = [...new Set(this[prop])];
518
533
  }
519
534
  });
@@ -600,13 +615,13 @@ export default function getSchema(provider) {
600
615
  this.invalidate(`${label} must only contain valid uris`);
601
616
  }
602
617
 
603
- const { hostname, protocol, hash } = parsed;
618
+ const { hostname, protocol } = parsed;
604
619
 
605
- if (hash) {
620
+ if (parsed.href.includes('#')) {
606
621
  this.invalidate(`${label} must not contain fragments`);
607
622
  }
608
623
 
609
- switch (this.application_type) { // eslint-disable-line default-case
624
+ switch (this.application_type) {
610
625
  case 'web': {
611
626
  if (!['https:', 'http:'].includes(protocol)) {
612
627
  this.invalidate(`${label} must only contain web uris`);
@@ -625,20 +640,23 @@ export default function getSchema(provider) {
625
640
  }
626
641
  case 'native': {
627
642
  switch (protocol) {
628
- case 'http:': // Loopback Interface Redirection
643
+ case 'http:':
629
644
  if (!LOOPBACKS.has(hostname)) {
630
645
  this.invalidate(`${label} for native clients using http as a protocol can only use loopback addresses as hostnames`);
631
646
  }
632
647
  break;
633
- case 'https:': // Claimed HTTPS URI Redirection
648
+ case 'https:':
634
649
  if (LOOPBACKS.has(hostname)) {
635
650
  this.invalidate(`${label} for native clients using claimed HTTPS URIs must not be using ${hostname} as hostname`);
636
651
  }
637
652
  break;
638
- default: // Private-use URI Scheme Redirection
639
- if (!protocol.includes('.')) {
640
- this.invalidate(`${label} for native clients using Custom URI scheme should use reverse domain name based scheme`);
653
+ default:
654
+ if (FORBIDDEN_SCHEMES.has(protocol)) {
655
+ this.invalidate(`${label} must not use the ${protocol.slice(0, -1)} URI scheme`);
641
656
  }
657
+
658
+
659
+ break;
642
660
  }
643
661
  break;
644
662
  }
@@ -658,7 +676,11 @@ export default function getSchema(provider) {
658
676
 
659
677
  processCustomMetadata(ctx) {
660
678
  configuration.extraClientMetadata.properties.forEach((prop) => {
661
- configuration.extraClientMetadata.validator(ctx, prop, this[prop], this);
679
+ const result = configuration.extraClientMetadata.validator(ctx, prop, this[prop], this);
680
+ if (result && typeof result.then === 'function') {
681
+ Promise.resolve(result).catch(() => {});
682
+ throw new TypeError('extraClientMetadata.validator must be a synchronous function');
683
+ }
662
684
  });
663
685
  }
664
686