@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,23 +1,16 @@
1
- import apply from './mixins/apply.js';
2
- import hasFormat from './mixins/has_format.js';
3
- import hasGrantType from './mixins/has_grant_type.js';
4
- import hasGrantId from './mixins/has_grant_id.js';
5
- import isSenderConstrained from './mixins/is_sender_constrained.js';
6
- import isSessionBound from './mixins/is_session_bound.js';
7
- import setAudience from './mixins/set_audience.js';
8
-
9
- export default (provider) => class AccessToken extends apply([
10
- hasGrantType,
11
- hasGrantId,
12
- isSenderConstrained,
13
- isSessionBound(provider),
14
- setAudience,
15
- hasFormat(provider, 'AccessToken', provider.BaseToken),
16
- ]) {
1
+ import { generateTokenId, getValueAndPayload } from './formats/index.js';
2
+ import { checkSessionBinding, setThumbprint, setAudience } from './token_helpers.js';
3
+
4
+ export default (provider) => class AccessToken extends provider.BaseToken {
17
5
  static get IN_PAYLOAD() {
18
6
  return [
19
7
  ...super.IN_PAYLOAD,
20
-
8
+ 'gty',
9
+ 'grantId',
10
+ 'x5t#S256',
11
+ 'jkt',
12
+ 'sessionUid',
13
+ 'expiresWithSession',
21
14
  'accountId',
22
15
  'aud',
23
16
  'rar',
@@ -28,4 +21,36 @@ export default (provider) => class AccessToken extends apply([
28
21
  'sid',
29
22
  ];
30
23
  }
24
+
25
+ static async find(...args) {
26
+ return checkSessionBinding(provider, await super.find(...args), args[1]);
27
+ }
28
+
29
+ static async revokeByGrantId(grantId) {
30
+ await this.adapter.revokeByGrantId(grantId);
31
+ }
32
+
33
+ setThumbprint(prop, input) {
34
+ setThumbprint(this, prop, input);
35
+ }
36
+
37
+ isSenderConstrained() {
38
+ return !!(this.jkt || this['x5t#S256']);
39
+ }
40
+
41
+ get tokenType() {
42
+ return this.jkt ? 'DPoP' : 'Bearer';
43
+ }
44
+
45
+ setAudience(audience) {
46
+ setAudience(this, audience);
47
+ }
48
+
49
+ generateTokenId() {
50
+ return generateTokenId(provider, this);
51
+ }
52
+
53
+ async getValueAndPayload() {
54
+ return getValueAndPayload(provider, this);
55
+ }
31
56
  };
@@ -1,27 +1,49 @@
1
- import apply from './mixins/apply.js';
2
- import consumable from './mixins/consumable.js';
3
- import hasFormat from './mixins/has_format.js';
4
- import hasGrantId from './mixins/has_grant_id.js';
5
- import isAttestationConstrained from './mixins/is_attestation_constrained.js';
6
- import isSessionBound from './mixins/is_session_bound.js';
7
- import storesAuth from './mixins/stores_auth.js';
8
- import storesPKCE from './mixins/stores_pkce.js';
1
+ import { checkSessionBinding, setAttestBinding } from './token_helpers.js';
9
2
 
10
- export default (provider) => class AuthorizationCode extends apply([
11
- consumable,
12
- isSessionBound(provider),
13
- hasGrantId,
14
- isAttestationConstrained,
15
- storesAuth,
16
- storesPKCE,
17
- hasFormat(provider, 'AuthorizationCode', provider.BaseToken),
18
- ]) {
3
+ export default (provider) => class AuthorizationCode extends provider.BaseToken {
19
4
  static get IN_PAYLOAD() {
20
5
  return [
21
6
  ...super.IN_PAYLOAD,
7
+ 'consumed',
8
+ 'sessionUid',
9
+ 'expiresWithSession',
10
+ 'grantId',
11
+ 'attestationJkt',
12
+ 'accountId',
13
+ 'acr',
14
+ 'amr',
15
+ 'authTime',
16
+ 'claims',
17
+ 'nonce',
18
+ 'resource',
19
+ 'scope',
20
+ 'sid',
21
+ 'codeChallenge',
22
+ 'codeChallengeMethod',
22
23
  'redirectUri',
23
24
  'dpopJkt',
24
25
  'rar',
25
26
  ];
26
27
  }
28
+
29
+ async consume() {
30
+ await this.adapter.consume(this.jti);
31
+ this.emit('consumed');
32
+ }
33
+
34
+ get isValid() {
35
+ return !this.consumed && !this.isExpired;
36
+ }
37
+
38
+ static async find(...args) {
39
+ return checkSessionBinding(provider, await super.find(...args), args[1]);
40
+ }
41
+
42
+ static async revokeByGrantId(grantId) {
43
+ await this.adapter.revokeByGrantId(grantId);
44
+ }
45
+
46
+ async setAttestBinding(ctx) {
47
+ await setAttestBinding(this, ctx);
48
+ }
27
49
  };
@@ -1,26 +1,48 @@
1
- import apply from './mixins/apply.js';
2
- import consumable from './mixins/consumable.js';
3
- import hasFormat from './mixins/has_format.js';
4
- import hasGrantId from './mixins/has_grant_id.js';
5
- import isAttestationConstrained from './mixins/is_attestation_constrained.js';
6
- import isSessionBound from './mixins/is_session_bound.js';
7
- import storesAuth from './mixins/stores_auth.js';
1
+ import { checkSessionBinding, setAttestBinding } from './token_helpers.js';
8
2
 
9
- export default (provider) => class BackchannelAuthenticationRequest extends apply([
10
- consumable,
11
- hasGrantId,
12
- isAttestationConstrained,
13
- isSessionBound(provider),
14
- storesAuth,
15
- hasFormat(provider, 'BackchannelAuthenticationRequest', provider.BaseToken),
16
- ]) {
3
+ export default (provider) => class BackchannelAuthenticationRequest extends provider.BaseToken {
17
4
  static get IN_PAYLOAD() {
18
5
  return [
19
6
  ...super.IN_PAYLOAD,
7
+ 'consumed',
8
+ 'grantId',
9
+ 'attestationJkt',
10
+ 'sessionUid',
11
+ 'expiresWithSession',
12
+ 'accountId',
13
+ 'acr',
14
+ 'amr',
15
+ 'authTime',
16
+ 'claims',
17
+ 'nonce',
18
+ 'resource',
19
+ 'scope',
20
+ 'sid',
20
21
  'error',
21
22
  'errorDescription',
22
23
  'params',
23
24
  'rar',
24
25
  ];
25
26
  }
27
+
28
+ async consume() {
29
+ await this.adapter.consume(this.jti);
30
+ this.emit('consumed');
31
+ }
32
+
33
+ get isValid() {
34
+ return !this.consumed && !this.isExpired;
35
+ }
36
+
37
+ static async find(...args) {
38
+ return checkSessionBinding(provider, await super.find(...args), args[1]);
39
+ }
40
+
41
+ static async revokeByGrantId(grantId) {
42
+ await this.adapter.revokeByGrantId(grantId);
43
+ }
44
+
45
+ async setAttestBinding(ctx) {
46
+ await setAttestBinding(this, ctx);
47
+ }
26
48
  };
@@ -1,12 +1,10 @@
1
- /* eslint-disable max-classes-per-file */
2
-
3
1
  import snakeCase from '../helpers/_/snake_case.js';
4
2
  import epochTime from '../helpers/epoch_time.js';
5
- import pickBy from '../helpers/_/pick_by.js';
6
- import instance from '../helpers/weak_cache.js';
7
3
  import isConstructable from '../helpers/type_validators.js';
4
+ import instance from '../helpers/weak_cache.js';
8
5
 
9
- import hasFormat from './mixins/has_format.js';
6
+ import * as opaque from './formats/opaque.js';
7
+ import pickPayload from './payload.js';
10
8
 
11
9
  const IN_PAYLOAD = [
12
10
  'iat',
@@ -32,12 +30,25 @@ export default function getBaseModel(provider) {
32
30
  return adapterCache.get(obj);
33
31
  }
34
32
 
35
- class Class {
36
- constructor({ jti, kind, ...payload } = {}) {
37
- Object.assign(this, pickBy(
38
- payload,
39
- (val, key) => this.constructor.IN_PAYLOAD.includes(key),
40
- ));
33
+ class BaseModel {
34
+ constructor(input = {}) {
35
+ const payload = pickPayload(this.constructor, input);
36
+ const { jti, kind } = payload;
37
+
38
+ for (const key of Object.keys(payload)) {
39
+ if (key !== 'jti' && key !== 'kind') {
40
+ if (key === '__proto__') {
41
+ Object.defineProperty(this, key, {
42
+ configurable: true,
43
+ enumerable: true,
44
+ value: payload[key],
45
+ writable: true,
46
+ });
47
+ } else {
48
+ this[key] = payload[key];
49
+ }
50
+ }
51
+ }
41
52
 
42
53
  if (kind && kind !== this.constructor.name) {
43
54
  throw new TypeError('kind mismatch');
@@ -51,12 +62,24 @@ export default function getBaseModel(provider) {
51
62
  return new this(payload);
52
63
  }
53
64
 
65
+ generateTokenId() {
66
+ return opaque.generateTokenId(provider, this);
67
+ }
68
+
69
+ async getValueAndPayload() {
70
+ return opaque.getValueAndPayload(provider, this);
71
+ }
72
+
73
+ static async verify(stored, options = {}) {
74
+ return opaque.verify(provider, stored, options);
75
+ }
76
+
54
77
  async save(ttl) {
55
78
  if (!this.jti) {
56
79
  this.jti = this.generateTokenId();
57
80
  }
58
81
 
59
- // this is true for all BaseToken descendants
82
+
60
83
  if (typeof this.constructor.expiresIn !== 'function') {
61
84
  this.exp = epochTime() + ttl;
62
85
  }
@@ -102,7 +125,7 @@ export default function getBaseModel(provider) {
102
125
  const payload = await this.verify(stored, { ignoreExpiration });
103
126
 
104
127
  return this.instantiate(payload);
105
- } catch (err) {
128
+ } catch {
106
129
  return undefined;
107
130
  }
108
131
  }
@@ -111,12 +134,12 @@ export default function getBaseModel(provider) {
111
134
  provider.emit(`${snakeCase(this.kind)}.${eventName}`, this);
112
135
  }
113
136
 
114
- /*
115
- * ttlPercentagePassed
116
- * returns a Number (0 to 100) with the value being percentage of the token's ttl already
117
- * passed. The higher the percentage the older the token is. At 0 the token is fresh, at a 100
118
- * it is expired.
119
- */
137
+
138
+
139
+
140
+
141
+
142
+
120
143
  ttlPercentagePassed() {
121
144
  const now = epochTime();
122
145
  const percentage = Math.floor(100 * ((now - this.iat) / (this.exp - this.iat)));
@@ -135,7 +158,5 @@ export default function getBaseModel(provider) {
135
158
  }
136
159
  }
137
160
 
138
- class BaseModel extends hasFormat(provider, 'base', Class) {}
139
-
140
161
  return BaseModel;
141
162
  }
@@ -1,5 +1,6 @@
1
- import instance from '../helpers/weak_cache.js';
2
1
  import als from '../helpers/als.js';
2
+ import { positiveInteger } from '../helpers/configuration_result.js';
3
+ import instance from '../helpers/weak_cache.js';
3
4
 
4
5
  export default function getBaseToken(provider) {
5
6
  class BaseToken extends instance(provider).BaseModel {
@@ -42,13 +43,14 @@ export default function getBaseToken(provider) {
42
43
 
43
44
  static expiresIn(...args) {
44
45
  const ttl = instance(provider).configuration.ttl[this.name];
46
+ const path = `ttl.${this.name}`;
45
47
 
46
48
  if (typeof ttl === 'number') {
47
- return ttl;
49
+ return positiveInteger(ttl, path);
48
50
  }
49
51
 
50
52
  if (typeof ttl === 'function') {
51
- return ttl(...args);
53
+ return positiveInteger(ttl(...args), path);
52
54
  }
53
55
 
54
56
  return undefined;
@@ -1,4 +1,3 @@
1
- /* eslint-disable max-classes-per-file */
2
1
  import * as crypto from 'node:crypto';
3
2
  import { STATUS_CODES } from 'node:http';
4
3
 
@@ -24,9 +23,57 @@ import fetchRequest from '../helpers/fetch_request.js';
24
23
  import fetchBodyCheck from '../helpers/fetch_body_check.js';
25
24
  import { isValidClientIdUrl, resolveClientByMetadataDocument } from '../helpers/client_id_metadata_document.js';
26
25
 
27
- // intentionally ignore x5t#S256 so that they are left to be calculated by the library
26
+
28
27
  const EC_CURVES = new Set(['P-256', 'P-384', 'P-521']);
29
28
  const OKP_SUBTYPES = new Set(['Ed25519', 'X25519']);
29
+ const CLIENT_JWK_REQUIREMENTS = new Map([
30
+ ['EC', { required: ['x', 'y'], privateParameters: ['d'], subtype: { parameter: 'crv', values: EC_CURVES } }],
31
+ ['OKP', { required: ['x'], privateParameters: ['d'], subtype: { parameter: 'crv', values: OKP_SUBTYPES } }],
32
+ ['AKP', { required: ['alg', 'pub'], privateParameters: ['priv'] }],
33
+ ['RSA', { required: ['e', 'n'], privateParameters: ['d', 'p', 'q', 'dp', 'dq', 'qi', 'oth'] }],
34
+ ]);
35
+
36
+ function stripLoopbackPort(uri) {
37
+ const parsed = URL.parse(uri);
38
+ if (!parsed || parsed.protocol !== 'http:' || !LOOPBACKS.has(parsed.hostname)) {
39
+ return undefined;
40
+ }
41
+
42
+ const schemeEnd = uri.indexOf('://');
43
+ if (schemeEnd === -1) {
44
+ return undefined;
45
+ }
46
+
47
+ const authorityStart = schemeEnd + 3;
48
+ const authorityEndOffset = uri.slice(authorityStart).search(/[/?#]/u);
49
+ const authorityEnd = authorityEndOffset === -1
50
+ ? uri.length
51
+ : authorityStart + authorityEndOffset;
52
+ const authority = uri.slice(authorityStart, authorityEnd);
53
+ const hostStart = authority.lastIndexOf('@') + 1;
54
+ const hostAndPort = authority.slice(hostStart);
55
+
56
+ let portStart;
57
+ if (hostAndPort.startsWith('[')) {
58
+ const bracketEnd = hostAndPort.indexOf(']');
59
+ if (bracketEnd === -1 || hostAndPort[bracketEnd + 1] !== ':') {
60
+ return uri;
61
+ }
62
+ portStart = hostStart + bracketEnd + 1;
63
+ } else {
64
+ const portOffset = hostAndPort.lastIndexOf(':');
65
+ if (portOffset === -1) {
66
+ return uri;
67
+ }
68
+ portStart = hostStart + portOffset;
69
+ }
70
+
71
+ if (!/^\d*$/u.test(authority.slice(portStart + 1))) {
72
+ return undefined;
73
+ }
74
+
75
+ return `${uri.slice(0, authorityStart + portStart)}${uri.slice(authorityEnd)}`;
76
+ }
30
77
 
31
78
  const validateJWKS = (jwks) => {
32
79
  if (jwks !== undefined) {
@@ -69,54 +116,63 @@ function isHmac(prop) {
69
116
  return /^HS/.test(value);
70
117
  }
71
118
 
72
- function checkJWK(jwk) {
119
+ function checkJWK(jwk, i) {
120
+ const prefix = `jwks.keys[${i}]`;
121
+
73
122
  try {
74
- if (!(isPlainObject(jwk))) throw new Error();
75
- if (!(typeof jwk.kty === 'string' && jwk.kty)) throw new Error();
76
-
77
- switch (jwk.kty) {
78
- case 'EC':
79
- if (!(typeof jwk.crv === 'string' && jwk.crv)) throw new Error();
80
- if (!EC_CURVES.has(jwk.crv)) return undefined;
81
- if (!(typeof jwk.x === 'string' && jwk.x)) throw new Error();
82
- if (!(typeof jwk.y === 'string' && jwk.y)) throw new Error();
83
- if (jwk.d !== undefined) throw new Error();
84
- break;
85
- case 'OKP':
86
- if (!(typeof jwk.crv === 'string' && jwk.crv)) throw new Error();
87
- if (!OKP_SUBTYPES.has(jwk.crv)) return undefined;
88
- if (!(typeof jwk.x === 'string' && jwk.x)) throw new Error();
89
- if (jwk.d !== undefined) throw new Error();
90
- break;
91
- case 'AKP':
92
- if (!(typeof jwk.alg === 'string' && jwk.alg)) throw new Error();
93
- if (!(typeof jwk.pub === 'string' && jwk.pub)) throw new Error();
94
- if (jwk.priv !== undefined) throw new Error();
95
- break;
96
- case 'RSA':
97
- if (!(typeof jwk.e === 'string' && jwk.e)) throw new Error();
98
- if (!(typeof jwk.n === 'string' && jwk.n)) throw new Error();
99
- if (jwk.d !== undefined) throw new Error();
100
- break;
101
- case 'oct':
102
- throw new Error();
103
- default:
104
- return undefined;
123
+ const invalid = (message) => {
124
+ throw new Error(message, { cause: jwk });
125
+ };
126
+ const requireString = (parameter, { keyType, optional = false } = {}) => {
127
+ if (optional && jwk[parameter] === undefined) return;
128
+
129
+ if (!(typeof jwk[parameter] === 'string' && jwk[parameter])) {
130
+ const qualifier = keyType ? ` for ${keyType} keys` : optional ? ' if provided' : '';
131
+ invalid(`${prefix}.${parameter} must be a non-empty string${qualifier}`);
132
+ }
133
+ };
134
+
135
+ if (!(isPlainObject(jwk))) invalid(`${prefix} must be a plain object`);
136
+ requireString('kty');
137
+
138
+ const requirements = CLIENT_JWK_REQUIREMENTS.get(jwk.kty);
139
+ if (!requirements) {
140
+ if (jwk.kty === 'oct') invalid(`${prefix} must not contain symmetric keys`);
141
+ return undefined;
105
142
  }
106
143
 
107
- if (!(jwk.alg === undefined || (typeof jwk.alg === 'string' && jwk.alg))) throw new Error();
108
- if (!(jwk.kid === undefined || (typeof jwk.kid === 'string' && jwk.kid))) throw new Error();
109
- if (!(jwk.use === undefined || (typeof jwk.use === 'string' && jwk.use))) throw new Error();
110
- if (!(jwk.x5c === undefined || (Array.isArray(jwk.x5c) && jwk.x5c.every((x) => typeof x === 'string' && x)))) throw new Error();
111
- } catch {
112
- throw new InvalidClientMetadata('client JSON Web Key Set is invalid');
144
+ const keyType = jwk.kty;
145
+ if (requirements.subtype) {
146
+ requireString(requirements.subtype.parameter, { keyType });
147
+ if (!requirements.subtype.values.has(jwk[requirements.subtype.parameter])) return undefined;
148
+ }
149
+
150
+ for (const parameter of requirements.required) {
151
+ requireString(parameter, { keyType });
152
+ }
153
+
154
+ for (const parameter of requirements.privateParameters) {
155
+ if (jwk[parameter] !== undefined) {
156
+ invalid(`${prefix}.${parameter} must not be provided for ${keyType} keys`);
157
+ }
158
+ }
159
+
160
+ for (const parameter of ['alg', 'kid', 'use']) {
161
+ requireString(parameter, { optional: true });
162
+ }
163
+
164
+ if (!(jwk.x5c === undefined || (Array.isArray(jwk.x5c) && jwk.x5c.every((x) => typeof x === 'string' && x)))) {
165
+ invalid(`${prefix}.x5c must be an array of non-empty strings if provided`);
166
+ }
167
+ } catch (cause) {
168
+ throw new InvalidClientMetadata('client JSON Web Key Set is invalid', { cause });
113
169
  }
114
170
 
115
171
  return jwk;
116
172
  }
117
173
 
118
174
  function deriveEncryptionKey(secret, length) {
119
- const digest = length <= 32 ? 'sha256' : length <= 48 ? 'sha384' : length <= 64 ? 'sha512' : false; // eslint-disable-line no-nested-ternary
175
+ const digest = length <= 32 ? 'sha256' : length <= 48 ? 'sha384' : length <= 64 ? 'sha512' : false;
120
176
  if (!digest) {
121
177
  throw new Error('unsupported symmetric encryption key derivation');
122
178
  }
@@ -159,7 +215,6 @@ export default function getClient(provider) {
159
215
 
160
216
  add(key) {
161
217
  if (this.client.clientAuthMethod === 'self_signed_tls_client_auth' && Array.isArray(key.x5c) && key.x5c.length) {
162
- // eslint-disable-next-line no-param-reassign
163
218
  key['x5t#S256'] = certificateThumbprint(key.x5c[0]);
164
219
  }
165
220
  super.add(key);
@@ -181,7 +236,7 @@ export default function getClient(provider) {
181
236
  const body = JSON.parse(buf.toString());
182
237
  const { headers, status } = response;
183
238
 
184
- // min refetch in 60 seconds unless cache headers say a longer response ttl
239
+
185
240
  const freshUntil = [epochTime() + 60];
186
241
 
187
242
  if (headers.has('expires')) {
@@ -196,7 +251,7 @@ export default function getClient(provider) {
196
251
  this.freshUntil = Math.max(...freshUntil.filter(Boolean));
197
252
 
198
253
  if (status !== 200) {
199
- throw new Error(`unexpected jwks_uri response status code, expected 200 OK, got ${status} ${STATUS_CODES[status]}`);
254
+ throw new Error(`unexpected jwks_uri response status code, expected 200 OK, got ${status} ${STATUS_CODES[status]}`, { cause: response });
200
255
  }
201
256
 
202
257
  validateJWKS(body);
@@ -208,9 +263,9 @@ export default function getClient(provider) {
208
263
  .forEach(ClientKeyStore.prototype.add.bind(this));
209
264
 
210
265
  delete this.lock;
211
- })().catch((err) => {
266
+ })().catch((cause) => {
212
267
  delete this.lock;
213
- throw new InvalidClientMetadata('client JSON Web Key Set failed to be refreshed', err.error_description || err.message);
268
+ throw new InvalidClientMetadata('client JSON Web Key Set failed to be refreshed', { cause });
214
269
  });
215
270
  }
216
271
 
@@ -325,7 +380,7 @@ export default function getClient(provider) {
325
380
  constructor(metadata, ctx, { cimd } = {}) {
326
381
  const schema = new Client.Schema(metadata, ctx, undefined, cimd);
327
382
 
328
- Object.assign(this, mapKeys(schema, (value, key) => {
383
+ Object.assign(this, mapKeys(schema, (_value, key) => {
329
384
  if (!instance(provider).RECOGNIZED_METADATA.includes(key)) {
330
385
  return key;
331
386
  }
@@ -416,7 +471,6 @@ export default function getClient(provider) {
416
471
  return this.responseTypes.includes(type);
417
472
  }
418
473
 
419
- // eslint-disable-next-line no-unused-vars
420
474
  responseModeAllowed(responseMode, responseType, fapiProfile) {
421
475
  if (fapiProfile === '1.0 Final' && !responseType.includes('id_token') && !responseMode.includes('jwt')) {
422
476
  return false;
@@ -430,28 +484,20 @@ export default function getClient(provider) {
430
484
  }
431
485
 
432
486
  #redirectAllowed(value, allowedUris) {
433
- const parsed = URL.parse(value);
434
- if (!parsed) return false;
487
+ if (allowedUris.includes(value)) {
488
+ return true;
489
+ }
435
490
 
436
- const match = allowedUris.find((allowed) => URL.parse(allowed)?.href === parsed.href);
437
- if (
438
- !!match
439
- || this.applicationType !== 'native'
440
- || parsed.protocol !== 'http:'
441
- || !LOOPBACKS.has(parsed.hostname)
442
- ) {
443
- return !!match;
491
+ if (this.applicationType !== 'native') {
492
+ return false;
444
493
  }
445
494
 
446
- parsed.port = '';
495
+ const withoutPort = stripLoopbackPort(value);
496
+ if (withoutPort === undefined) {
497
+ return false;
498
+ }
447
499
 
448
- return !!allowedUris
449
- .find((allowed) => {
450
- const registered = URL.parse(allowed);
451
- if (!registered) return false;
452
- registered.port = '';
453
- return parsed.href === registered.href;
454
- });
500
+ return allowedUris.some((allowed) => stripLoopbackPort(allowed) === withoutPort);
455
501
  }
456
502
 
457
503
  redirectUriAllowed(value) {
@@ -471,7 +517,7 @@ export default function getClient(provider) {
471
517
  }
472
518
 
473
519
  metadata() {
474
- return mapKeys(this, (value, key) => {
520
+ return mapKeys(this, (_value, key) => {
475
521
  const snaked = snakeCase(key);
476
522
  if (!instance(provider).RECOGNIZED_METADATA.includes(snaked)) {
477
523
  return key;
@@ -1,19 +1,40 @@
1
- import setAudience from './mixins/set_audience.js';
2
- import hasFormat from './mixins/has_format.js';
3
- import isSenderConstrained from './mixins/is_sender_constrained.js';
4
- import apply from './mixins/apply.js';
1
+ import { generateTokenId, getValueAndPayload } from './formats/index.js';
2
+ import { setThumbprint, setAudience } from './token_helpers.js';
5
3
 
6
- export default (provider) => class ClientCredentials extends apply([
7
- setAudience,
8
- isSenderConstrained,
9
- hasFormat(provider, 'ClientCredentials', provider.BaseToken),
10
- ]) {
4
+ export default (provider) => class ClientCredentials extends provider.BaseToken {
11
5
  static get IN_PAYLOAD() {
12
6
  return [
13
7
  ...super.IN_PAYLOAD,
8
+ 'x5t#S256',
9
+ 'jkt',
14
10
  'aud',
15
11
  'extra',
12
+ 'rar',
16
13
  'scope',
17
14
  ];
18
15
  }
16
+
17
+ setThumbprint(prop, input) {
18
+ setThumbprint(this, prop, input);
19
+ }
20
+
21
+ isSenderConstrained() {
22
+ return !!(this.jkt || this['x5t#S256']);
23
+ }
24
+
25
+ get tokenType() {
26
+ return this.jkt ? 'DPoP' : 'Bearer';
27
+ }
28
+
29
+ setAudience(audience) {
30
+ setAudience(this, audience);
31
+ }
32
+
33
+ generateTokenId() {
34
+ return generateTokenId(provider, this);
35
+ }
36
+
37
+ async getValueAndPayload() {
38
+ return getValueAndPayload(provider, this);
39
+ }
19
40
  };