@nocobase/plugin-idp-oauth 2.1.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.
- package/LICENSE.txt +107 -0
- package/README.md +14 -0
- package/build.config.ts +46 -0
- package/client.d.ts +2 -0
- package/client.js +1 -0
- package/dist/client/ErrorPage.d.ts +11 -0
- package/dist/client/InteractionPage.d.ts +11 -0
- package/dist/client/index.d.ts +9 -0
- package/dist/client/index.js +10 -0
- package/dist/client/locale.d.ts +10 -0
- package/dist/client/models/index.d.ts +11 -0
- package/dist/client/plugin.d.ts +13 -0
- package/dist/externalVersion.js +18 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.js +48 -0
- package/dist/locale/en-US.json +1 -0
- package/dist/locale/zh-CN.json +1 -0
- package/dist/node_modules/eta/LICENSE +7 -0
- package/dist/node_modules/eta/README.md +185 -0
- package/dist/node_modules/eta/dist/core.d.ts +179 -0
- package/dist/node_modules/eta/dist/core.d.ts.map +1 -0
- package/dist/node_modules/eta/dist/core.js +42 -0
- package/dist/node_modules/eta/dist/core.js.map +1 -0
- package/dist/node_modules/eta/dist/index.cjs +542 -0
- package/dist/node_modules/eta/dist/index.cjs.map +1 -0
- package/dist/node_modules/eta/dist/index.d.cts +187 -0
- package/dist/node_modules/eta/dist/index.d.cts.map +1 -0
- package/dist/node_modules/eta/dist/index.d.mts +187 -0
- package/dist/node_modules/eta/dist/index.d.mts.map +1 -0
- package/dist/node_modules/eta/dist/index.mjs +512 -0
- package/dist/node_modules/eta/dist/index.mjs.map +1 -0
- package/dist/node_modules/eta/package.json +75 -0
- package/dist/node_modules/jose/LICENSE.md +21 -0
- package/dist/node_modules/jose/README.md +153 -0
- package/dist/node_modules/jose/dist/types/index.d.ts +55 -0
- package/dist/node_modules/jose/dist/types/jwe/compact/decrypt.d.ts +31 -0
- package/dist/node_modules/jose/dist/types/jwe/compact/encrypt.d.ts +65 -0
- package/dist/node_modules/jose/dist/types/jwe/flattened/decrypt.d.ts +31 -0
- package/dist/node_modules/jose/dist/types/jwe/flattened/encrypt.d.ts +83 -0
- package/dist/node_modules/jose/dist/types/jwe/general/decrypt.d.ts +38 -0
- package/dist/node_modules/jose/dist/types/jwe/general/encrypt.d.ts +74 -0
- package/dist/node_modules/jose/dist/types/jwk/embedded.d.ts +17 -0
- package/dist/node_modules/jose/dist/types/jwk/thumbprint.d.ts +32 -0
- package/dist/node_modules/jose/dist/types/jwks/local.d.ts +29 -0
- package/dist/node_modules/jose/dist/types/jwks/remote.d.ts +237 -0
- package/dist/node_modules/jose/dist/types/jws/compact/sign.d.ts +36 -0
- package/dist/node_modules/jose/dist/types/jws/compact/verify.d.ts +33 -0
- package/dist/node_modules/jose/dist/types/jws/flattened/sign.d.ts +42 -0
- package/dist/node_modules/jose/dist/types/jws/flattened/verify.d.ts +33 -0
- package/dist/node_modules/jose/dist/types/jws/general/sign.d.ts +53 -0
- package/dist/node_modules/jose/dist/types/jws/general/verify.d.ts +41 -0
- package/dist/node_modules/jose/dist/types/jwt/decrypt.d.ts +35 -0
- package/dist/node_modules/jose/dist/types/jwt/encrypt.d.ts +91 -0
- package/dist/node_modules/jose/dist/types/jwt/sign.d.ts +43 -0
- package/dist/node_modules/jose/dist/types/jwt/unsecured.d.ts +43 -0
- package/dist/node_modules/jose/dist/types/jwt/verify.d.ts +37 -0
- package/dist/node_modules/jose/dist/types/key/export.d.ts +33 -0
- package/dist/node_modules/jose/dist/types/key/generate_key_pair.d.ts +47 -0
- package/dist/node_modules/jose/dist/types/key/generate_secret.d.ts +35 -0
- package/dist/node_modules/jose/dist/types/key/import.d.ts +83 -0
- package/dist/node_modules/jose/dist/types/types.d.ts +852 -0
- package/dist/node_modules/jose/dist/types/util/base64url.d.ts +9 -0
- package/dist/node_modules/jose/dist/types/util/decode_jwt.d.ts +18 -0
- package/dist/node_modules/jose/dist/types/util/decode_protected_header.d.ts +17 -0
- package/dist/node_modules/jose/dist/types/util/errors.d.ts +213 -0
- package/dist/node_modules/jose/dist/webapi/index.js +32 -0
- package/dist/node_modules/jose/dist/webapi/jwe/compact/decrypt.js +27 -0
- package/dist/node_modules/jose/dist/webapi/jwe/compact/encrypt.js +27 -0
- package/dist/node_modules/jose/dist/webapi/jwe/flattened/decrypt.js +155 -0
- package/dist/node_modules/jose/dist/webapi/jwe/flattened/encrypt.js +165 -0
- package/dist/node_modules/jose/dist/webapi/jwe/general/decrypt.js +31 -0
- package/dist/node_modules/jose/dist/webapi/jwe/general/encrypt.js +182 -0
- package/dist/node_modules/jose/dist/webapi/jwk/embedded.js +17 -0
- package/dist/node_modules/jose/dist/webapi/jwk/thumbprint.js +68 -0
- package/dist/node_modules/jose/dist/webapi/jwks/local.js +119 -0
- package/dist/node_modules/jose/dist/webapi/jwks/remote.js +179 -0
- package/dist/node_modules/jose/dist/webapi/jws/compact/sign.js +18 -0
- package/dist/node_modules/jose/dist/webapi/jws/compact/verify.js +21 -0
- package/dist/node_modules/jose/dist/webapi/jws/flattened/sign.js +89 -0
- package/dist/node_modules/jose/dist/webapi/jws/flattened/verify.js +110 -0
- package/dist/node_modules/jose/dist/webapi/jws/general/sign.js +70 -0
- package/dist/node_modules/jose/dist/webapi/jws/general/verify.js +24 -0
- package/dist/node_modules/jose/dist/webapi/jwt/decrypt.js +23 -0
- package/dist/node_modules/jose/dist/webapi/jwt/encrypt.js +101 -0
- package/dist/node_modules/jose/dist/webapi/jwt/sign.js +52 -0
- package/dist/node_modules/jose/dist/webapi/jwt/unsecured.js +63 -0
- package/dist/node_modules/jose/dist/webapi/jwt/verify.js +15 -0
- package/dist/node_modules/jose/dist/webapi/key/export.js +11 -0
- package/dist/node_modules/jose/dist/webapi/key/generate_key_pair.js +97 -0
- package/dist/node_modules/jose/dist/webapi/key/generate_secret.js +40 -0
- package/dist/node_modules/jose/dist/webapi/key/import.js +57 -0
- package/dist/node_modules/jose/dist/webapi/lib/aesgcmkw.js +15 -0
- package/dist/node_modules/jose/dist/webapi/lib/aeskw.js +25 -0
- package/dist/node_modules/jose/dist/webapi/lib/asn1.js +243 -0
- package/dist/node_modules/jose/dist/webapi/lib/base64.js +22 -0
- package/dist/node_modules/jose/dist/webapi/lib/buffer_utils.js +43 -0
- package/dist/node_modules/jose/dist/webapi/lib/check_key_type.js +122 -0
- package/dist/node_modules/jose/dist/webapi/lib/content_encryption.js +217 -0
- package/dist/node_modules/jose/dist/webapi/lib/crypto_key.js +136 -0
- package/dist/node_modules/jose/dist/webapi/lib/deflate.js +44 -0
- package/dist/node_modules/jose/dist/webapi/lib/ecdhes.js +52 -0
- package/dist/node_modules/jose/dist/webapi/lib/helpers.js +19 -0
- package/dist/node_modules/jose/dist/webapi/lib/invalid_key_input.js +27 -0
- package/dist/node_modules/jose/dist/webapi/lib/is_key_like.js +17 -0
- package/dist/node_modules/jose/dist/webapi/lib/jwk_to_key.js +107 -0
- package/dist/node_modules/jose/dist/webapi/lib/jwt_claims_set.js +238 -0
- package/dist/node_modules/jose/dist/webapi/lib/key_management.js +186 -0
- package/dist/node_modules/jose/dist/webapi/lib/key_to_jwk.js +31 -0
- package/dist/node_modules/jose/dist/webapi/lib/normalize_key.js +166 -0
- package/dist/node_modules/jose/dist/webapi/lib/pbes2kw.js +39 -0
- package/dist/node_modules/jose/dist/webapi/lib/rsaes.js +24 -0
- package/dist/node_modules/jose/dist/webapi/lib/signing.js +68 -0
- package/dist/node_modules/jose/dist/webapi/lib/type_checks.js +40 -0
- package/dist/node_modules/jose/dist/webapi/lib/validate_algorithms.js +10 -0
- package/dist/node_modules/jose/dist/webapi/lib/validate_crit.js +33 -0
- package/dist/node_modules/jose/dist/webapi/util/base64url.js +30 -0
- package/dist/node_modules/jose/dist/webapi/util/decode_jwt.js +32 -0
- package/dist/node_modules/jose/dist/webapi/util/decode_protected_header.js +34 -0
- package/dist/node_modules/jose/dist/webapi/util/errors.js +99 -0
- package/dist/node_modules/jose/package.json +200 -0
- package/dist/node_modules/light-my-request/.gitattributes +2 -0
- package/dist/node_modules/light-my-request/.github/dependabot.yml +13 -0
- package/dist/node_modules/light-my-request/.github/stale.yml +21 -0
- package/dist/node_modules/light-my-request/.github/workflows/benchmark.yml +30 -0
- package/dist/node_modules/light-my-request/.github/workflows/ci.yml +23 -0
- package/dist/node_modules/light-my-request/LICENSE +32 -0
- package/dist/node_modules/light-my-request/benchmark/benchmark.js +164 -0
- package/dist/node_modules/light-my-request/build/build-validation.js +100 -0
- package/dist/node_modules/light-my-request/eslint.config.js +9 -0
- package/dist/node_modules/light-my-request/index.js +2 -0
- package/dist/node_modules/light-my-request/lib/config-validator.js +919 -0
- package/dist/node_modules/light-my-request/lib/form-data.js +79 -0
- package/dist/node_modules/light-my-request/lib/parse-url.js +47 -0
- package/dist/node_modules/light-my-request/lib/request.js +290 -0
- package/dist/node_modules/light-my-request/lib/response.js +240 -0
- package/dist/node_modules/light-my-request/node_modules/process-warning/.gitattributes +2 -0
- package/dist/node_modules/light-my-request/node_modules/process-warning/.github/dependabot.yml +13 -0
- package/dist/node_modules/light-my-request/node_modules/process-warning/.github/workflows/ci.yml +24 -0
- package/dist/node_modules/light-my-request/node_modules/process-warning/.taprc +2 -0
- package/dist/node_modules/light-my-request/node_modules/process-warning/benchmarks/warn.js +25 -0
- package/dist/node_modules/light-my-request/node_modules/process-warning/eslint.config.js +6 -0
- package/dist/node_modules/light-my-request/node_modules/process-warning/examples/example.js +11 -0
- package/dist/node_modules/light-my-request/node_modules/process-warning/index.js +124 -0
- package/dist/node_modules/light-my-request/node_modules/process-warning/package.json +73 -0
- package/dist/node_modules/light-my-request/node_modules/process-warning/test/emit-interpolated-string.test.js +29 -0
- package/dist/node_modules/light-my-request/node_modules/process-warning/test/emit-once-only.test.js +28 -0
- package/dist/node_modules/light-my-request/node_modules/process-warning/test/emit-reset.test.js +36 -0
- package/dist/node_modules/light-my-request/node_modules/process-warning/test/emit-set.test.js +30 -0
- package/dist/node_modules/light-my-request/node_modules/process-warning/test/emit-unlimited.test.js +37 -0
- package/dist/node_modules/light-my-request/node_modules/process-warning/test/index.test.js +99 -0
- package/dist/node_modules/light-my-request/node_modules/process-warning/test/issue-88.test.js +33 -0
- package/dist/node_modules/light-my-request/node_modules/process-warning/test/jest.test.js +22 -0
- package/dist/node_modules/light-my-request/node_modules/process-warning/test/no-warnings.test.js +80 -0
- package/dist/node_modules/light-my-request/node_modules/process-warning/types/index.d.ts +37 -0
- package/dist/node_modules/light-my-request/node_modules/process-warning/types/index.test-d.ts +36 -0
- package/dist/node_modules/light-my-request/package.json +1 -0
- package/dist/node_modules/light-my-request/test/async-await.test.js +55 -0
- package/dist/node_modules/light-my-request/test/index.test.js +2316 -0
- package/dist/node_modules/light-my-request/test/request.test.js +16 -0
- package/dist/node_modules/light-my-request/test/response.test.js +19 -0
- package/dist/node_modules/light-my-request/test/stream.test.js +359 -0
- package/dist/node_modules/light-my-request/types/index.d.ts +128 -0
- package/dist/node_modules/light-my-request/types/index.test-d.ts +149 -0
- package/dist/node_modules/oidc-provider/LICENSE.md +21 -0
- package/dist/node_modules/oidc-provider/README.md +174 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/assign_claims.js +28 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/assign_defaults.js +17 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/authenticated_client_id.js +6 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/backchannel_request_remap_errors.js +17 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/backchannel_request_response.js +41 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/check_ciba_context.js +12 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/check_claims.js +68 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/check_client.js +21 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/check_client_grant_type.js +21 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/check_dpop_jkt.js +35 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/check_extra_params.js +18 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/check_id_token_hint.js +23 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/check_max_age.js +25 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/check_openid_scope.js +47 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/check_pkce.js +41 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/check_prompt.js +25 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/check_redirect_uri.js +41 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/check_requested_expiry.js +16 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/check_response_mode.js +54 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/check_response_type.js +26 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/check_scope.js +53 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/ciba_load_account.js +58 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/ciba_required.js +13 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/device_authorization_response.js +31 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/device_user_flow.js +31 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/device_user_flow_errors.js +37 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/device_user_flow_response.js +55 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/index.js +200 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/interaction_emit.js +9 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/interactions.js +149 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/load_account.js +15 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/load_grant.js +29 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/load_pushed_authorization_request.js +36 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/oauth_required.js +11 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/oidc_required.js +27 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/one_redirect_uri_clients.js +20 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/process_request_object.js +214 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/pushed_authorization_request_remap_errors.js +17 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/pushed_authorization_request_response.js +65 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/reject_registration.js +12 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/reject_request_and_uri.js +12 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/reject_unsupported.js +33 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/respond.js +46 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/resume.js +111 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/strip_outside_jar_params.js +19 -0
- package/dist/node_modules/oidc-provider/lib/actions/authorization/unsupported_rar.js +9 -0
- package/dist/node_modules/oidc-provider/lib/actions/challenge.js +22 -0
- package/dist/node_modules/oidc-provider/lib/actions/code_verification.js +122 -0
- package/dist/node_modules/oidc-provider/lib/actions/discovery.js +151 -0
- package/dist/node_modules/oidc-provider/lib/actions/end_session.js +222 -0
- package/dist/node_modules/oidc-provider/lib/actions/grants/authorization_code.js +144 -0
- package/dist/node_modules/oidc-provider/lib/actions/grants/ciba.js +127 -0
- package/dist/node_modules/oidc-provider/lib/actions/grants/client_credentials.js +79 -0
- package/dist/node_modules/oidc-provider/lib/actions/grants/device_code.js +125 -0
- package/dist/node_modules/oidc-provider/lib/actions/grants/index.js +7 -0
- package/dist/node_modules/oidc-provider/lib/actions/grants/refresh_token.js +229 -0
- package/dist/node_modules/oidc-provider/lib/actions/index.js +25 -0
- package/dist/node_modules/oidc-provider/lib/actions/interaction.js +150 -0
- package/dist/node_modules/oidc-provider/lib/actions/introspection.js +164 -0
- package/dist/node_modules/oidc-provider/lib/actions/jwks.js +7 -0
- package/dist/node_modules/oidc-provider/lib/actions/registration.js +274 -0
- package/dist/node_modules/oidc-provider/lib/actions/revocation.js +81 -0
- package/dist/node_modules/oidc-provider/lib/actions/token.js +74 -0
- package/dist/node_modules/oidc-provider/lib/actions/userinfo.js +183 -0
- package/dist/node_modules/oidc-provider/lib/adapters/memory_adapter.js +95 -0
- package/dist/node_modules/oidc-provider/lib/consts/client_attributes.js +211 -0
- package/dist/node_modules/oidc-provider/lib/consts/dev_keystore.js +18 -0
- package/dist/node_modules/oidc-provider/lib/consts/index.js +13 -0
- package/dist/node_modules/oidc-provider/lib/consts/jwa.js +47 -0
- package/dist/node_modules/oidc-provider/lib/consts/non_rejectable_claims.js +1 -0
- package/dist/node_modules/oidc-provider/lib/consts/param_list.js +23 -0
- package/dist/node_modules/oidc-provider/lib/helpers/_/camel_case.js +1 -0
- package/dist/node_modules/oidc-provider/lib/helpers/_/defaults.js +28 -0
- package/dist/node_modules/oidc-provider/lib/helpers/_/difference.js +1 -0
- package/dist/node_modules/oidc-provider/lib/helpers/_/is_plain_object.js +1 -0
- package/dist/node_modules/oidc-provider/lib/helpers/_/map_keys.js +9 -0
- package/dist/node_modules/oidc-provider/lib/helpers/_/merge.js +25 -0
- package/dist/node_modules/oidc-provider/lib/helpers/_/omit_by.js +11 -0
- package/dist/node_modules/oidc-provider/lib/helpers/_/pick.js +10 -0
- package/dist/node_modules/oidc-provider/lib/helpers/_/pick_by.js +10 -0
- package/dist/node_modules/oidc-provider/lib/helpers/_/remove.js +9 -0
- package/dist/node_modules/oidc-provider/lib/helpers/_/set.js +18 -0
- package/dist/node_modules/oidc-provider/lib/helpers/_/snake_case.js +1 -0
- package/dist/node_modules/oidc-provider/lib/helpers/_/upper_first.js +1 -0
- package/dist/node_modules/oidc-provider/lib/helpers/account_claims.js +6 -0
- package/dist/node_modules/oidc-provider/lib/helpers/add_client.js +14 -0
- package/dist/node_modules/oidc-provider/lib/helpers/als.js +3 -0
- package/dist/node_modules/oidc-provider/lib/helpers/append_www_authenticate.js +9 -0
- package/dist/node_modules/oidc-provider/lib/helpers/attention.js +23 -0
- package/dist/node_modules/oidc-provider/lib/helpers/base64url.js +11 -0
- package/dist/node_modules/oidc-provider/lib/helpers/certificate_thumbprint.js +15 -0
- package/dist/node_modules/oidc-provider/lib/helpers/challenge.js +111 -0
- package/dist/node_modules/oidc-provider/lib/helpers/check_attest_binding.js +10 -0
- package/dist/node_modules/oidc-provider/lib/helpers/claims.js +79 -0
- package/dist/node_modules/oidc-provider/lib/helpers/client_id_metadata_document.js +198 -0
- package/dist/node_modules/oidc-provider/lib/helpers/client_schema.js +700 -0
- package/dist/node_modules/oidc-provider/lib/helpers/combined_scope.js +17 -0
- package/dist/node_modules/oidc-provider/lib/helpers/configuration.js +544 -0
- package/dist/node_modules/oidc-provider/lib/helpers/constant_equals.js +20 -0
- package/dist/node_modules/oidc-provider/lib/helpers/defaults.js +3510 -0
- package/dist/node_modules/oidc-provider/lib/helpers/epoch_time.js +1 -0
- package/dist/node_modules/oidc-provider/lib/helpers/err_out.js +17 -0
- package/dist/node_modules/oidc-provider/lib/helpers/errors.js +161 -0
- package/dist/node_modules/oidc-provider/lib/helpers/features.js +51 -0
- package/dist/node_modules/oidc-provider/lib/helpers/fetch_body_check.js +25 -0
- package/dist/node_modules/oidc-provider/lib/helpers/fetch_request.js +221 -0
- package/dist/node_modules/oidc-provider/lib/helpers/filter_claims.js +16 -0
- package/dist/node_modules/oidc-provider/lib/helpers/formatters.js +24 -0
- package/dist/node_modules/oidc-provider/lib/helpers/grant_common.js +214 -0
- package/dist/node_modules/oidc-provider/lib/helpers/html_safe.js +19 -0
- package/dist/node_modules/oidc-provider/lib/helpers/initialize_adapter.js +24 -0
- package/dist/node_modules/oidc-provider/lib/helpers/initialize_app.js +243 -0
- package/dist/node_modules/oidc-provider/lib/helpers/initialize_clients.js +24 -0
- package/dist/node_modules/oidc-provider/lib/helpers/initialize_keystore.js +310 -0
- package/dist/node_modules/oidc-provider/lib/helpers/interaction_policy/check.js +21 -0
- package/dist/node_modules/oidc-provider/lib/helpers/interaction_policy/index.js +43 -0
- package/dist/node_modules/oidc-provider/lib/helpers/interaction_policy/prompt.js +95 -0
- package/dist/node_modules/oidc-provider/lib/helpers/interaction_policy/prompts/consent.js +105 -0
- package/dist/node_modules/oidc-provider/lib/helpers/interaction_policy/prompts/login.js +162 -0
- package/dist/node_modules/oidc-provider/lib/helpers/jwt.js +211 -0
- package/dist/node_modules/oidc-provider/lib/helpers/keystore.js +301 -0
- package/dist/node_modules/oidc-provider/lib/helpers/nanoid.js +5 -0
- package/dist/node_modules/oidc-provider/lib/helpers/oidc_context.js +284 -0
- package/dist/node_modules/oidc-provider/lib/helpers/params.js +27 -0
- package/dist/node_modules/oidc-provider/lib/helpers/pkce.js +30 -0
- package/dist/node_modules/oidc-provider/lib/helpers/pkce_format.js +17 -0
- package/dist/node_modules/oidc-provider/lib/helpers/process_response_types.js +202 -0
- package/dist/node_modules/oidc-provider/lib/helpers/re_render_errors.js +39 -0
- package/dist/node_modules/oidc-provider/lib/helpers/redirect_uri.js +16 -0
- package/dist/node_modules/oidc-provider/lib/helpers/resolve_resource.js +33 -0
- package/dist/node_modules/oidc-provider/lib/helpers/resolve_response_mode.js +7 -0
- package/dist/node_modules/oidc-provider/lib/helpers/resource_server.js +20 -0
- package/dist/node_modules/oidc-provider/lib/helpers/revoke.js +27 -0
- package/dist/node_modules/oidc-provider/lib/helpers/script_src_sha.js +21 -0
- package/dist/node_modules/oidc-provider/lib/helpers/sector_identifier.js +19 -0
- package/dist/node_modules/oidc-provider/lib/helpers/sector_validate.js +55 -0
- package/dist/node_modules/oidc-provider/lib/helpers/set_rt_bindings.js +21 -0
- package/dist/node_modules/oidc-provider/lib/helpers/token_find.js +51 -0
- package/dist/node_modules/oidc-provider/lib/helpers/type_validators.js +8 -0
- package/dist/node_modules/oidc-provider/lib/helpers/user_code_form.js +19 -0
- package/dist/node_modules/oidc-provider/lib/helpers/user_codes.js +38 -0
- package/dist/node_modules/oidc-provider/lib/helpers/valid_url.js +8 -0
- package/dist/node_modules/oidc-provider/lib/helpers/validate_dpop.js +129 -0
- package/dist/node_modules/oidc-provider/lib/helpers/validate_presence.js +17 -0
- package/dist/node_modules/oidc-provider/lib/helpers/weak_cache.js +11 -0
- package/dist/node_modules/oidc-provider/lib/index.js +21 -0
- package/dist/node_modules/oidc-provider/lib/models/access_token.js +31 -0
- package/dist/node_modules/oidc-provider/lib/models/authorization_code.js +27 -0
- package/dist/node_modules/oidc-provider/lib/models/backchannel_authentication_request.js +26 -0
- package/dist/node_modules/oidc-provider/lib/models/base_model.js +141 -0
- package/dist/node_modules/oidc-provider/lib/models/base_token.js +86 -0
- package/dist/node_modules/oidc-provider/lib/models/client.js +593 -0
- package/dist/node_modules/oidc-provider/lib/models/client_credentials.js +19 -0
- package/dist/node_modules/oidc-provider/lib/models/device_code.js +44 -0
- package/dist/node_modules/oidc-provider/lib/models/formats/dynamic.js +21 -0
- package/dist/node_modules/oidc-provider/lib/models/formats/index.js +14 -0
- package/dist/node_modules/oidc-provider/lib/models/formats/jwt.js +198 -0
- package/dist/node_modules/oidc-provider/lib/models/formats/opaque.js +58 -0
- package/dist/node_modules/oidc-provider/lib/models/grant.js +243 -0
- package/dist/node_modules/oidc-provider/lib/models/id_token.js +271 -0
- package/dist/node_modules/oidc-provider/lib/models/index.js +37 -0
- package/dist/node_modules/oidc-provider/lib/models/initial_access_token.js +12 -0
- package/dist/node_modules/oidc-provider/lib/models/interaction.js +73 -0
- package/dist/node_modules/oidc-provider/lib/models/mixins/apply.js +4 -0
- package/dist/node_modules/oidc-provider/lib/models/mixins/consumable.js +17 -0
- package/dist/node_modules/oidc-provider/lib/models/mixins/has_format.js +46 -0
- package/dist/node_modules/oidc-provider/lib/models/mixins/has_grant_id.js +12 -0
- package/dist/node_modules/oidc-provider/lib/models/mixins/has_grant_type.js +8 -0
- package/dist/node_modules/oidc-provider/lib/models/mixins/has_policies.js +38 -0
- package/dist/node_modules/oidc-provider/lib/models/mixins/is_attestation_constrained.js +15 -0
- package/dist/node_modules/oidc-provider/lib/models/mixins/is_sender_constrained.js +50 -0
- package/dist/node_modules/oidc-provider/lib/models/mixins/is_session_bound.js +38 -0
- package/dist/node_modules/oidc-provider/lib/models/mixins/set_audience.js +21 -0
- package/dist/node_modules/oidc-provider/lib/models/mixins/stores_auth.js +16 -0
- package/dist/node_modules/oidc-provider/lib/models/mixins/stores_pkce.js +9 -0
- package/dist/node_modules/oidc-provider/lib/models/pushed_authorization_request.js +21 -0
- package/dist/node_modules/oidc-provider/lib/models/refresh_token.js +47 -0
- package/dist/node_modules/oidc-provider/lib/models/registration_access_token.js +8 -0
- package/dist/node_modules/oidc-provider/lib/models/replay_detection.js +31 -0
- package/dist/node_modules/oidc-provider/lib/models/session.js +192 -0
- package/dist/node_modules/oidc-provider/lib/provider.js +453 -0
- package/dist/node_modules/oidc-provider/lib/response_modes/form_post.js +36 -0
- package/dist/node_modules/oidc-provider/lib/response_modes/fragment.js +7 -0
- package/dist/node_modules/oidc-provider/lib/response_modes/index.js +15 -0
- package/dist/node_modules/oidc-provider/lib/response_modes/jwt.js +43 -0
- package/dist/node_modules/oidc-provider/lib/response_modes/query.js +7 -0
- package/dist/node_modules/oidc-provider/lib/response_modes/web_message.js +55 -0
- package/dist/node_modules/oidc-provider/lib/shared/assemble_params.js +7 -0
- package/dist/node_modules/oidc-provider/lib/shared/attest_client_auth.js +111 -0
- package/dist/node_modules/oidc-provider/lib/shared/authorization_error_handler.js +104 -0
- package/dist/node_modules/oidc-provider/lib/shared/check_rar.js +75 -0
- package/dist/node_modules/oidc-provider/lib/shared/check_resource.js +77 -0
- package/dist/node_modules/oidc-provider/lib/shared/client_auth.js +263 -0
- package/dist/node_modules/oidc-provider/lib/shared/conditional_body.js +9 -0
- package/dist/node_modules/oidc-provider/lib/shared/cors.js +49 -0
- package/dist/node_modules/oidc-provider/lib/shared/error_handler.js +59 -0
- package/dist/node_modules/oidc-provider/lib/shared/jwt_client_auth.js +79 -0
- package/dist/node_modules/oidc-provider/lib/shared/no_cache.js +4 -0
- package/dist/node_modules/oidc-provider/lib/shared/reject_dupes.js +45 -0
- package/dist/node_modules/oidc-provider/lib/shared/reject_structured_tokens.js +18 -0
- package/dist/node_modules/oidc-provider/lib/shared/selective_body.js +60 -0
- package/dist/node_modules/oidc-provider/lib/shared/session.js +68 -0
- package/dist/node_modules/oidc-provider/lib/shared/set_www_authenticate_header.js +52 -0
- package/dist/node_modules/oidc-provider/lib/views/index.js +22 -0
- package/dist/node_modules/oidc-provider/lib/views/interaction.js +171 -0
- package/dist/node_modules/oidc-provider/lib/views/layout.js +237 -0
- package/dist/node_modules/oidc-provider/lib/views/login.js +43 -0
- package/dist/node_modules/oidc-provider/node_modules/@koa/router/LICENSE +21 -0
- package/dist/node_modules/oidc-provider/node_modules/@koa/router/README.md +1370 -0
- package/dist/node_modules/oidc-provider/node_modules/@koa/router/dist/index.d.mts +1003 -0
- package/dist/node_modules/oidc-provider/node_modules/@koa/router/dist/index.d.ts +1003 -0
- package/dist/node_modules/oidc-provider/node_modules/@koa/router/dist/index.js +1616 -0
- package/dist/node_modules/oidc-provider/node_modules/@koa/router/dist/index.mjs +1573 -0
- package/dist/node_modules/oidc-provider/node_modules/@koa/router/package.json +122 -0
- package/dist/node_modules/oidc-provider/node_modules/debug/LICENSE +20 -0
- package/dist/node_modules/oidc-provider/node_modules/debug/README.md +481 -0
- package/dist/node_modules/oidc-provider/node_modules/debug/package.json +64 -0
- package/dist/node_modules/oidc-provider/node_modules/debug/src/browser.js +272 -0
- package/dist/node_modules/oidc-provider/node_modules/debug/src/common.js +292 -0
- package/dist/node_modules/oidc-provider/node_modules/debug/src/index.js +10 -0
- package/dist/node_modules/oidc-provider/node_modules/debug/src/node.js +263 -0
- package/dist/node_modules/oidc-provider/node_modules/http-errors/HISTORY.md +186 -0
- package/dist/node_modules/oidc-provider/node_modules/http-errors/LICENSE +23 -0
- package/dist/node_modules/oidc-provider/node_modules/http-errors/README.md +169 -0
- package/dist/node_modules/oidc-provider/node_modules/http-errors/index.js +290 -0
- package/dist/node_modules/oidc-provider/node_modules/http-errors/package.json +54 -0
- package/dist/node_modules/oidc-provider/node_modules/jsesc/LICENSE-MIT.txt +20 -0
- package/dist/node_modules/oidc-provider/node_modules/jsesc/README.md +422 -0
- package/dist/node_modules/oidc-provider/node_modules/jsesc/bin/jsesc +148 -0
- package/dist/node_modules/oidc-provider/node_modules/jsesc/jsesc.js +337 -0
- package/dist/node_modules/oidc-provider/node_modules/jsesc/man/jsesc.1 +94 -0
- package/dist/node_modules/oidc-provider/node_modules/jsesc/package.json +56 -0
- package/dist/node_modules/oidc-provider/node_modules/nanoid/LICENSE +20 -0
- package/dist/node_modules/oidc-provider/node_modules/nanoid/README.md +38 -0
- package/dist/node_modules/oidc-provider/node_modules/nanoid/bin/nanoid.js +55 -0
- package/dist/node_modules/oidc-provider/node_modules/nanoid/index.browser.js +29 -0
- package/dist/node_modules/oidc-provider/node_modules/nanoid/index.d.ts +106 -0
- package/dist/node_modules/oidc-provider/node_modules/nanoid/index.js +47 -0
- package/dist/node_modules/oidc-provider/node_modules/nanoid/nanoid.js +1 -0
- package/dist/node_modules/oidc-provider/node_modules/nanoid/non-secure/index.d.ts +48 -0
- package/dist/node_modules/oidc-provider/node_modules/nanoid/non-secure/index.js +21 -0
- package/dist/node_modules/oidc-provider/node_modules/nanoid/package.json +46 -0
- package/dist/node_modules/oidc-provider/node_modules/nanoid/url-alphabet/index.js +2 -0
- package/dist/node_modules/oidc-provider/node_modules/path-to-regexp/LICENSE +21 -0
- package/dist/node_modules/oidc-provider/node_modules/path-to-regexp/Readme.md +224 -0
- package/dist/node_modules/oidc-provider/node_modules/path-to-regexp/dist/index.d.ts +144 -0
- package/dist/node_modules/oidc-provider/node_modules/path-to-regexp/dist/index.js +409 -0
- package/dist/node_modules/oidc-provider/node_modules/path-to-regexp/dist/index.js.map +1 -0
- package/dist/node_modules/oidc-provider/node_modules/path-to-regexp/package.json +64 -0
- package/dist/node_modules/oidc-provider/node_modules/statuses/HISTORY.md +87 -0
- package/dist/node_modules/oidc-provider/node_modules/statuses/LICENSE +23 -0
- package/dist/node_modules/oidc-provider/node_modules/statuses/README.md +139 -0
- package/dist/node_modules/oidc-provider/node_modules/statuses/codes.json +65 -0
- package/dist/node_modules/oidc-provider/node_modules/statuses/index.js +146 -0
- package/dist/node_modules/oidc-provider/node_modules/statuses/package.json +49 -0
- package/dist/node_modules/oidc-provider/package.json +95 -0
- package/dist/node_modules/quick-lru/index.d.ts +178 -0
- package/dist/node_modules/quick-lru/index.js +329 -0
- package/dist/node_modules/quick-lru/license +9 -0
- package/dist/node_modules/quick-lru/package.json +54 -0
- package/dist/node_modules/quick-lru/readme.md +236 -0
- package/dist/node_modules/statuses/HISTORY.md +65 -0
- package/dist/node_modules/statuses/LICENSE +23 -0
- package/dist/node_modules/statuses/README.md +127 -0
- package/dist/node_modules/statuses/codes.json +66 -0
- package/dist/node_modules/statuses/index.js +113 -0
- package/dist/node_modules/statuses/package.json +48 -0
- package/dist/server/cache-adapter.d.ts +33 -0
- package/dist/server/cache-adapter.js +159 -0
- package/dist/server/index.d.ts +10 -0
- package/dist/server/index.js +48 -0
- package/dist/server/interaction.d.ts +26 -0
- package/dist/server/interaction.js +172 -0
- package/dist/server/paths.d.ts +19 -0
- package/dist/server/paths.js +64 -0
- package/dist/server/plugin.d.ts +16 -0
- package/dist/server/plugin.js +108 -0
- package/dist/server/provider-dispatch.d.ts +32 -0
- package/dist/server/provider-dispatch.js +252 -0
- package/dist/server/service.d.ts +63 -0
- package/dist/server/service.js +540 -0
- package/dist/server/utils.d.ts +12 -0
- package/dist/server/utils.js +58 -0
- package/package.json +24 -0
- package/server.d.ts +2 -0
- package/server.js +1 -0
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Verification using a JSON Web Key Set (JWKS) available on an HTTP(S) URL
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
import type * as types from '../types.d.ts';
|
|
7
|
+
/**
|
|
8
|
+
* When passed to {@link jwks/remote.createRemoteJWKSet createRemoteJWKSet} this allows the resolver
|
|
9
|
+
* to make use of advanced fetch configurations, HTTP Proxies, retry on network errors, etc.
|
|
10
|
+
*
|
|
11
|
+
* > [!NOTE]\
|
|
12
|
+
* > Known caveat: Expect Type-related issues when passing the inputs through to fetch-like modules,
|
|
13
|
+
* > they hardly ever get their typings inline with actual fetch, you should `@ts-expect-error` them.
|
|
14
|
+
*
|
|
15
|
+
* import ky from 'ky'
|
|
16
|
+
*
|
|
17
|
+
* let logRequest!: (request: Request) => void
|
|
18
|
+
* let logResponse!: (request: Request, response: Response) => void
|
|
19
|
+
* let logRetry!: (request: Request, error: Error, retryCount: number) => void
|
|
20
|
+
*
|
|
21
|
+
* const JWKS = jose.createRemoteJWKSet(url, {
|
|
22
|
+
* [jose.customFetch]: (...args) =>
|
|
23
|
+
* ky(args[0], {
|
|
24
|
+
* ...args[1],
|
|
25
|
+
* hooks: {
|
|
26
|
+
* beforeRequest: [
|
|
27
|
+
* (request) => {
|
|
28
|
+
* logRequest(request)
|
|
29
|
+
* },
|
|
30
|
+
* ],
|
|
31
|
+
* beforeRetry: [
|
|
32
|
+
* ({ request, error, retryCount }) => {
|
|
33
|
+
* logRetry(request, error, retryCount)
|
|
34
|
+
* },
|
|
35
|
+
* ],
|
|
36
|
+
* afterResponse: [
|
|
37
|
+
* (request, _, response) => {
|
|
38
|
+
* logResponse(request, response)
|
|
39
|
+
* },
|
|
40
|
+
* ],
|
|
41
|
+
* },
|
|
42
|
+
* }),
|
|
43
|
+
* })
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* import * as undici from 'undici'
|
|
47
|
+
*
|
|
48
|
+
* // see https://undici.nodejs.org/#/docs/api/EnvHttpProxyAgent
|
|
49
|
+
* let envHttpProxyAgent = new undici.EnvHttpProxyAgent()
|
|
50
|
+
*
|
|
51
|
+
* // @ts-ignore
|
|
52
|
+
* const JWKS = jose.createRemoteJWKSet(url, {
|
|
53
|
+
* [jose.customFetch]: (...args) => {
|
|
54
|
+
* // @ts-ignore
|
|
55
|
+
* return undici.fetch(args[0], { ...args[1], dispatcher: envHttpProxyAgent }) // prettier-ignore
|
|
56
|
+
* },
|
|
57
|
+
* })
|
|
58
|
+
* ```
|
|
59
|
+
*
|
|
60
|
+
* import * as undici from 'undici'
|
|
61
|
+
*
|
|
62
|
+
* // see https://undici.nodejs.org/#/docs/api/RetryAgent
|
|
63
|
+
* let retryAgent = new undici.RetryAgent(new undici.Agent(), {
|
|
64
|
+
* statusCodes: [],
|
|
65
|
+
* errorCodes: [
|
|
66
|
+
* 'ECONNRESET',
|
|
67
|
+
* 'ECONNREFUSED',
|
|
68
|
+
* 'ENOTFOUND',
|
|
69
|
+
* 'ENETDOWN',
|
|
70
|
+
* 'ENETUNREACH',
|
|
71
|
+
* 'EHOSTDOWN',
|
|
72
|
+
* 'UND_ERR_SOCKET',
|
|
73
|
+
* ],
|
|
74
|
+
* })
|
|
75
|
+
*
|
|
76
|
+
* // @ts-ignore
|
|
77
|
+
* const JWKS = jose.createRemoteJWKSet(url, {
|
|
78
|
+
* [jose.customFetch]: (...args) => {
|
|
79
|
+
* // @ts-ignore
|
|
80
|
+
* return undici.fetch(args[0], { ...args[1], dispatcher: retryAgent }) // prettier-ignore
|
|
81
|
+
* },
|
|
82
|
+
* })
|
|
83
|
+
* ```
|
|
84
|
+
*
|
|
85
|
+
* import * as undici from 'undici'
|
|
86
|
+
*
|
|
87
|
+
* // see https://undici.nodejs.org/#/docs/api/MockAgent
|
|
88
|
+
* let mockAgent = new undici.MockAgent()
|
|
89
|
+
* mockAgent.disableNetConnect()
|
|
90
|
+
*
|
|
91
|
+
* // @ts-ignore
|
|
92
|
+
* const JWKS = jose.createRemoteJWKSet(url, {
|
|
93
|
+
* [jose.customFetch]: (...args) => {
|
|
94
|
+
* // @ts-ignore
|
|
95
|
+
* return undici.fetch(args[0], { ...args[1], dispatcher: mockAgent }) // prettier-ignore
|
|
96
|
+
* },
|
|
97
|
+
* })
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
100
|
+
export declare const customFetch: unique symbol;
|
|
101
|
+
/** See {@link customFetch}. */
|
|
102
|
+
export type FetchImplementation = (
|
|
103
|
+
/** URL the request is being made sent to {@link !fetch} as the `resource` argument */
|
|
104
|
+
url: string,
|
|
105
|
+
/** Options otherwise sent to {@link !fetch} as the `options` argument */
|
|
106
|
+
options: {
|
|
107
|
+
/** HTTP Headers */
|
|
108
|
+
headers: Headers;
|
|
109
|
+
/** The {@link https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods request method} */
|
|
110
|
+
method: 'GET';
|
|
111
|
+
/** See {@link !Request.redirect} */
|
|
112
|
+
redirect: 'manual';
|
|
113
|
+
signal: AbortSignal;
|
|
114
|
+
}) => Promise<Response>;
|
|
115
|
+
/**
|
|
116
|
+
* > [!WARNING]\
|
|
117
|
+
* > This option has security implications that must be understood, assessed for applicability, and
|
|
118
|
+
* > accepted before use. It is critical that the JSON Web Key Set cache only be writable by your own
|
|
119
|
+
* > code.
|
|
120
|
+
*
|
|
121
|
+
* This option is intended for cloud computing runtimes that cannot keep an in memory cache between
|
|
122
|
+
* their code's invocations. Use in runtimes where an in memory cache between requests is available
|
|
123
|
+
* is not desirable.
|
|
124
|
+
*
|
|
125
|
+
* When passed to {@link jwks/remote.createRemoteJWKSet createRemoteJWKSet} this allows the passed in
|
|
126
|
+
* object to:
|
|
127
|
+
*
|
|
128
|
+
* - Serve as an initial value for the JSON Web Key Set that the module would otherwise need to
|
|
129
|
+
* trigger an HTTP request for
|
|
130
|
+
* - Have the JSON Web Key Set the function optionally ended up triggering an HTTP request for
|
|
131
|
+
* assigned to it as properties
|
|
132
|
+
*
|
|
133
|
+
* The intended use pattern is:
|
|
134
|
+
*
|
|
135
|
+
* - Before verifying with {@link jwks/remote.createRemoteJWKSet createRemoteJWKSet} you pull the
|
|
136
|
+
* previously cached object from a low-latency key-value store offered by the cloud computing
|
|
137
|
+
* runtime it is executed on;
|
|
138
|
+
* - Default to an empty object `{}` instead when there's no previously cached value;
|
|
139
|
+
* - Pass it in as {@link RemoteJWKSetOptions[jwksCache]};
|
|
140
|
+
* - Afterwards, update the key-value storage if the {@link ExportedJWKSCache.uat `uat`} property of
|
|
141
|
+
* the object has changed.
|
|
142
|
+
*
|
|
143
|
+
* // Prerequisites
|
|
144
|
+
* let url!: URL
|
|
145
|
+
* let jwt!: string
|
|
146
|
+
* let getPreviouslyCachedJWKS!: () => Promise<jose.ExportedJWKSCache>
|
|
147
|
+
* let storeNewJWKScache!: (cache: jose.ExportedJWKSCache) => Promise<void>
|
|
148
|
+
*
|
|
149
|
+
* // Load JSON Web Key Set cache
|
|
150
|
+
* const jwksCache: jose.JWKSCacheInput = (await getPreviouslyCachedJWKS()) || {}
|
|
151
|
+
* const { uat } = jwksCache
|
|
152
|
+
*
|
|
153
|
+
* const JWKS = jose.createRemoteJWKSet(url, {
|
|
154
|
+
* [jose.jwksCache]: jwksCache,
|
|
155
|
+
* })
|
|
156
|
+
*
|
|
157
|
+
* // Use JSON Web Key Set cache
|
|
158
|
+
* await jose.jwtVerify(jwt, JWKS)
|
|
159
|
+
*
|
|
160
|
+
* if (uat !== jwksCache.uat) {
|
|
161
|
+
* // Update JSON Web Key Set cache
|
|
162
|
+
* await storeNewJWKScache(jwksCache)
|
|
163
|
+
* }
|
|
164
|
+
* ```
|
|
165
|
+
*/
|
|
166
|
+
export declare const jwksCache: unique symbol;
|
|
167
|
+
/** Options for the remote JSON Web Key Set. */
|
|
168
|
+
export interface RemoteJWKSetOptions {
|
|
169
|
+
/**
|
|
170
|
+
* Timeout (in milliseconds) for the HTTP request. When reached the request will be aborted and
|
|
171
|
+
* the verification will fail. Default is 5000 (5 seconds).
|
|
172
|
+
*/
|
|
173
|
+
timeoutDuration?: number;
|
|
174
|
+
/**
|
|
175
|
+
* Duration (in milliseconds) for which no more HTTP requests will be triggered after a previous
|
|
176
|
+
* successful fetch. Default is 30000 (30 seconds).
|
|
177
|
+
*/
|
|
178
|
+
cooldownDuration?: number;
|
|
179
|
+
/**
|
|
180
|
+
* Maximum time (in milliseconds) between successful HTTP requests. Default is 600000 (10
|
|
181
|
+
* minutes).
|
|
182
|
+
*/
|
|
183
|
+
cacheMaxAge?: number | typeof Infinity;
|
|
184
|
+
/** Headers to be sent with the HTTP request. */
|
|
185
|
+
headers?: Record<string, string>;
|
|
186
|
+
/** See {@link jwksCache}. */
|
|
187
|
+
[jwksCache]?: JWKSCacheInput;
|
|
188
|
+
/** See {@link customFetch}. */
|
|
189
|
+
[customFetch]?: FetchImplementation;
|
|
190
|
+
}
|
|
191
|
+
/** See {@link jwksCache}. */
|
|
192
|
+
export interface ExportedJWKSCache {
|
|
193
|
+
/** Current cached JSON Web Key Set */
|
|
194
|
+
jwks: types.JSONWebKeySet;
|
|
195
|
+
/** Last updated at timestamp (seconds since epoch) */
|
|
196
|
+
uat: number;
|
|
197
|
+
}
|
|
198
|
+
/** See {@link jwksCache}. */
|
|
199
|
+
export type JWKSCacheInput = ExportedJWKSCache | Record<string, never>;
|
|
200
|
+
/**
|
|
201
|
+
* Returns a function that resolves a JWS JOSE Header to a public key object downloaded from a
|
|
202
|
+
* remote endpoint returning a JSON Web Key Set, that is, for example, an OAuth 2.0 or OIDC
|
|
203
|
+
* jwks_uri. The JSON Web Key Set is fetched when no key matches the selection process but only as
|
|
204
|
+
* frequently as the `cooldownDuration` option allows to prevent abuse.
|
|
205
|
+
*
|
|
206
|
+
* It uses the "alg" (JWS Algorithm) Header Parameter to determine the right JWK "kty" (Key Type),
|
|
207
|
+
* then proceeds to match the JWK "kid" (Key ID) with one found in the JWS Header Parameters (if
|
|
208
|
+
* there is one) while also respecting the JWK "use" (Public Key Use) and JWK "key_ops" (Key
|
|
209
|
+
* Operations) Parameters (if they are present on the JWK).
|
|
210
|
+
*
|
|
211
|
+
* Only a single public key must match the selection process. As shown in the example below when
|
|
212
|
+
* multiple keys get matched it is possible to opt-in to iterate over the matched keys and attempt
|
|
213
|
+
* verification in an iterative manner.
|
|
214
|
+
*
|
|
215
|
+
* > [!NOTE]\
|
|
216
|
+
* > The function's purpose is to resolve public keys used for verifying signatures and will not work
|
|
217
|
+
* > for public encryption keys.
|
|
218
|
+
*
|
|
219
|
+
* This function is exported (as a named export) from the main `'jose'` module entry point as well
|
|
220
|
+
* as from its subpath export `'jose/jwks/remote'`.
|
|
221
|
+
*
|
|
222
|
+
* @param url URL to fetch the JSON Web Key Set from.
|
|
223
|
+
* @param options Options for the remote JSON Web Key Set.
|
|
224
|
+
*/
|
|
225
|
+
export declare function createRemoteJWKSet(url: URL, options?: RemoteJWKSetOptions): {
|
|
226
|
+
(protectedHeader?: types.JWSHeaderParameters, token?: types.FlattenedJWSInput): Promise<types.CryptoKey>;
|
|
227
|
+
/** @ignore */
|
|
228
|
+
coolingDown: boolean;
|
|
229
|
+
/** @ignore */
|
|
230
|
+
fresh: boolean;
|
|
231
|
+
/** @ignore */
|
|
232
|
+
reloading: boolean;
|
|
233
|
+
/** @ignore */
|
|
234
|
+
reload: () => Promise<void>;
|
|
235
|
+
/** @ignore */
|
|
236
|
+
jwks: () => types.JSONWebKeySet | undefined;
|
|
237
|
+
};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Signing JSON Web Signature (JWS) in Compact Serialization
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
import type * as types from '../../types.d.ts';
|
|
7
|
+
/**
|
|
8
|
+
* The CompactSign class is used to build and sign Compact JWS strings.
|
|
9
|
+
*
|
|
10
|
+
* This class is exported (as a named export) from the main `'jose'` module entry point as well as
|
|
11
|
+
* from its subpath export `'jose/jws/compact/sign'`.
|
|
12
|
+
*
|
|
13
|
+
*/
|
|
14
|
+
export declare class CompactSign {
|
|
15
|
+
#private;
|
|
16
|
+
/**
|
|
17
|
+
* {@link CompactSign} constructor
|
|
18
|
+
*
|
|
19
|
+
* @param payload Binary representation of the payload to sign.
|
|
20
|
+
*/
|
|
21
|
+
constructor(payload: Uint8Array);
|
|
22
|
+
/**
|
|
23
|
+
* Sets the JWS Protected Header on the CompactSign object.
|
|
24
|
+
*
|
|
25
|
+
* @param protectedHeader JWS Protected Header.
|
|
26
|
+
*/
|
|
27
|
+
setProtectedHeader(protectedHeader: types.CompactJWSHeaderParameters): this;
|
|
28
|
+
/**
|
|
29
|
+
* Signs and resolves the value of the Compact JWS string.
|
|
30
|
+
*
|
|
31
|
+
* @param key Private Key or Secret to sign the JWS with. See
|
|
32
|
+
* {@link https://github.com/panva/jose/issues/210#jws-alg Algorithm Key Requirements}.
|
|
33
|
+
* @param options JWS Sign options.
|
|
34
|
+
*/
|
|
35
|
+
sign(key: types.CryptoKey | types.KeyObject | types.JWK | Uint8Array, options?: types.SignOptions): Promise<string>;
|
|
36
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Verifying JSON Web Signature (JWS) in Compact Serialization
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
import type * as types from '../../types.d.ts';
|
|
7
|
+
/**
|
|
8
|
+
* Interface for Compact JWS Verification dynamic key resolution. No token components have been
|
|
9
|
+
* verified at the time of this function call.
|
|
10
|
+
*
|
|
11
|
+
* @see {@link jwks/remote.createRemoteJWKSet createRemoteJWKSet} to verify using a remote JSON Web Key Set.
|
|
12
|
+
*/
|
|
13
|
+
export interface CompactVerifyGetKey extends types.GenericGetKeyFunction<types.CompactJWSHeaderParameters, types.FlattenedJWSInput, types.CryptoKey | types.KeyObject | types.JWK | Uint8Array> {
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Verifies the signature and format of and afterwards decodes the Compact JWS.
|
|
17
|
+
*
|
|
18
|
+
* This function is exported (as a named export) from the main `'jose'` module entry point as well
|
|
19
|
+
* as from its subpath export `'jose/jws/compact/verify'`.
|
|
20
|
+
*
|
|
21
|
+
* @param jws Compact JWS.
|
|
22
|
+
* @param key Key to verify the JWS with. See
|
|
23
|
+
* {@link https://github.com/panva/jose/issues/210#jws-alg Algorithm Key Requirements}.
|
|
24
|
+
* @param options JWS Verify options.
|
|
25
|
+
*/
|
|
26
|
+
export declare function compactVerify(jws: string | Uint8Array, key: types.CryptoKey | types.KeyObject | types.JWK | Uint8Array, options?: types.VerifyOptions): Promise<types.CompactVerifyResult>;
|
|
27
|
+
/**
|
|
28
|
+
* @param jws Compact JWS.
|
|
29
|
+
* @param getKey Function resolving a key to verify the JWS with. See
|
|
30
|
+
* {@link https://github.com/panva/jose/issues/210#jws-alg Algorithm Key Requirements}.
|
|
31
|
+
* @param options JWS Verify options.
|
|
32
|
+
*/
|
|
33
|
+
export declare function compactVerify(jws: string | Uint8Array, getKey: CompactVerifyGetKey, options?: types.VerifyOptions): Promise<types.CompactVerifyResult & types.ResolvedKey>;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Signing JSON Web Signature (JWS) in Flattened JSON Serialization
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
import type * as types from '../../types.d.ts';
|
|
7
|
+
/**
|
|
8
|
+
* The FlattenedSign class is used to build and sign Flattened JWS objects.
|
|
9
|
+
*
|
|
10
|
+
* This class is exported (as a named export) from the main `'jose'` module entry point as well as
|
|
11
|
+
* from its subpath export `'jose/jws/flattened/sign'`.
|
|
12
|
+
*
|
|
13
|
+
*/
|
|
14
|
+
export declare class FlattenedSign {
|
|
15
|
+
#private;
|
|
16
|
+
/**
|
|
17
|
+
* {@link FlattenedSign} constructor
|
|
18
|
+
*
|
|
19
|
+
* @param payload Binary representation of the payload to sign.
|
|
20
|
+
*/
|
|
21
|
+
constructor(payload: Uint8Array);
|
|
22
|
+
/**
|
|
23
|
+
* Sets the JWS Protected Header on the FlattenedSign object.
|
|
24
|
+
*
|
|
25
|
+
* @param protectedHeader JWS Protected Header.
|
|
26
|
+
*/
|
|
27
|
+
setProtectedHeader(protectedHeader: types.JWSHeaderParameters): this;
|
|
28
|
+
/**
|
|
29
|
+
* Sets the JWS Unprotected Header on the FlattenedSign object.
|
|
30
|
+
*
|
|
31
|
+
* @param unprotectedHeader JWS Unprotected Header.
|
|
32
|
+
*/
|
|
33
|
+
setUnprotectedHeader(unprotectedHeader: types.JWSHeaderParameters): this;
|
|
34
|
+
/**
|
|
35
|
+
* Signs and resolves the value of the Flattened JWS object.
|
|
36
|
+
*
|
|
37
|
+
* @param key Private Key or Secret to sign the JWS with. See
|
|
38
|
+
* {@link https://github.com/panva/jose/issues/210#jws-alg Algorithm Key Requirements}.
|
|
39
|
+
* @param options JWS Sign options.
|
|
40
|
+
*/
|
|
41
|
+
sign(key: types.CryptoKey | types.KeyObject | types.JWK | Uint8Array, options?: types.SignOptions): Promise<types.FlattenedJWS>;
|
|
42
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Verifying JSON Web Signature (JWS) in Flattened JSON Serialization
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
import type * as types from '../../types.d.ts';
|
|
7
|
+
/**
|
|
8
|
+
* Interface for Flattened JWS Verification dynamic key resolution. No token components have been
|
|
9
|
+
* verified at the time of this function call.
|
|
10
|
+
*
|
|
11
|
+
* @see {@link jwks/remote.createRemoteJWKSet createRemoteJWKSet} to verify using a remote JSON Web Key Set.
|
|
12
|
+
*/
|
|
13
|
+
export interface FlattenedVerifyGetKey extends types.GenericGetKeyFunction<types.JWSHeaderParameters | undefined, types.FlattenedJWSInput, types.CryptoKey | types.KeyObject | types.JWK | Uint8Array> {
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Verifies the signature and format of and afterwards decodes the Flattened JWS.
|
|
17
|
+
*
|
|
18
|
+
* This function is exported (as a named export) from the main `'jose'` module entry point as well
|
|
19
|
+
* as from its subpath export `'jose/jws/flattened/verify'`.
|
|
20
|
+
*
|
|
21
|
+
* @param jws Flattened JWS.
|
|
22
|
+
* @param key Key to verify the JWS with. See
|
|
23
|
+
* {@link https://github.com/panva/jose/issues/210#jws-alg Algorithm Key Requirements}.
|
|
24
|
+
* @param options JWS Verify options.
|
|
25
|
+
*/
|
|
26
|
+
export declare function flattenedVerify(jws: types.FlattenedJWSInput, key: types.CryptoKey | types.KeyObject | types.JWK | Uint8Array, options?: types.VerifyOptions): Promise<types.FlattenedVerifyResult>;
|
|
27
|
+
/**
|
|
28
|
+
* @param jws Flattened JWS.
|
|
29
|
+
* @param getKey Function resolving a key to verify the JWS with. See
|
|
30
|
+
* {@link https://github.com/panva/jose/issues/210#jws-alg Algorithm Key Requirements}.
|
|
31
|
+
* @param options JWS Verify options.
|
|
32
|
+
*/
|
|
33
|
+
export declare function flattenedVerify(jws: types.FlattenedJWSInput, getKey: FlattenedVerifyGetKey, options?: types.VerifyOptions): Promise<types.FlattenedVerifyResult & types.ResolvedKey>;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Signing JSON Web Signature (JWS) in General JSON Serialization
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
import type * as types from '../../types.d.ts';
|
|
7
|
+
/** Used to build General JWS object's individual signatures. */
|
|
8
|
+
export interface Signature {
|
|
9
|
+
/**
|
|
10
|
+
* Sets the JWS Protected Header on the Signature object.
|
|
11
|
+
*
|
|
12
|
+
* @param protectedHeader JWS Protected Header.
|
|
13
|
+
*/
|
|
14
|
+
setProtectedHeader(protectedHeader: types.JWSHeaderParameters): Signature;
|
|
15
|
+
/**
|
|
16
|
+
* Sets the JWS Unprotected Header on the Signature object.
|
|
17
|
+
*
|
|
18
|
+
* @param unprotectedHeader JWS Unprotected Header.
|
|
19
|
+
*/
|
|
20
|
+
setUnprotectedHeader(unprotectedHeader: types.JWSHeaderParameters): Signature;
|
|
21
|
+
/** A shorthand for calling addSignature() on the enclosing {@link GeneralSign} instance */
|
|
22
|
+
addSignature(...args: Parameters<GeneralSign['addSignature']>): Signature;
|
|
23
|
+
/** A shorthand for calling encrypt() on the enclosing {@link GeneralSign} instance */
|
|
24
|
+
sign(...args: Parameters<GeneralSign['sign']>): Promise<types.GeneralJWS>;
|
|
25
|
+
/** Returns the enclosing {@link GeneralSign} instance */
|
|
26
|
+
done(): GeneralSign;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* The GeneralSign class is used to build and sign General JWS objects.
|
|
30
|
+
*
|
|
31
|
+
* This class is exported (as a named export) from the main `'jose'` module entry point as well as
|
|
32
|
+
* from its subpath export `'jose/jws/general/sign'`.
|
|
33
|
+
*
|
|
34
|
+
*/
|
|
35
|
+
export declare class GeneralSign {
|
|
36
|
+
#private;
|
|
37
|
+
/**
|
|
38
|
+
* {@link GeneralSign} constructor
|
|
39
|
+
*
|
|
40
|
+
* @param payload Binary representation of the payload to sign.
|
|
41
|
+
*/
|
|
42
|
+
constructor(payload: Uint8Array);
|
|
43
|
+
/**
|
|
44
|
+
* Adds an additional signature for the General JWS object.
|
|
45
|
+
*
|
|
46
|
+
* @param key Private Key or Secret to sign the individual JWS signature with. See
|
|
47
|
+
* {@link https://github.com/panva/jose/issues/210#jws-alg Algorithm Key Requirements}.
|
|
48
|
+
* @param options JWS Sign options.
|
|
49
|
+
*/
|
|
50
|
+
addSignature(key: types.CryptoKey | types.KeyObject | types.JWK | Uint8Array, options?: types.SignOptions): Signature;
|
|
51
|
+
/** Signs and resolves the value of the General JWS object. */
|
|
52
|
+
sign(): Promise<types.GeneralJWS>;
|
|
53
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Verifying JSON Web Signature (JWS) in General JSON Serialization
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
import type * as types from '../../types.d.ts';
|
|
7
|
+
/**
|
|
8
|
+
* Interface for General JWS Verification dynamic key resolution. No token components have been
|
|
9
|
+
* verified at the time of this function call.
|
|
10
|
+
*
|
|
11
|
+
* @see {@link jwks/remote.createRemoteJWKSet createRemoteJWKSet} to verify using a remote JSON Web Key Set.
|
|
12
|
+
*/
|
|
13
|
+
export interface GeneralVerifyGetKey extends types.GenericGetKeyFunction<types.JWSHeaderParameters, types.FlattenedJWSInput, types.CryptoKey | types.KeyObject | types.JWK | Uint8Array> {
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Verifies the signature and format of and afterwards decodes the General JWS.
|
|
17
|
+
*
|
|
18
|
+
* This function is exported (as a named export) from the main `'jose'` module entry point as well
|
|
19
|
+
* as from its subpath export `'jose/jws/general/verify'`.
|
|
20
|
+
*
|
|
21
|
+
* > [!NOTE]\
|
|
22
|
+
* > The function iterates over the `signatures` array in the General JWS and returns the verification
|
|
23
|
+
* > result of the first signature entry that can be successfully verified. The result only contains
|
|
24
|
+
* > the payload, protected header, and unprotected header of that successfully verified signature
|
|
25
|
+
* > entry. Other signature entries in the General JWS are not validated, and their headers are not
|
|
26
|
+
* > included in the returned result. Recipients of a General JWS should only rely on the returned
|
|
27
|
+
* > (verified) data.
|
|
28
|
+
*
|
|
29
|
+
* @param jws General JWS.
|
|
30
|
+
* @param key Key to verify the JWS with. See
|
|
31
|
+
* {@link https://github.com/panva/jose/issues/210#jws-alg Algorithm Key Requirements}.
|
|
32
|
+
* @param options JWS Verify options.
|
|
33
|
+
*/
|
|
34
|
+
export declare function generalVerify(jws: types.GeneralJWSInput, key: types.CryptoKey | types.KeyObject | types.JWK | Uint8Array, options?: types.VerifyOptions): Promise<types.GeneralVerifyResult>;
|
|
35
|
+
/**
|
|
36
|
+
* @param jws General JWS.
|
|
37
|
+
* @param getKey Function resolving a key to verify the JWS with. See
|
|
38
|
+
* {@link https://github.com/panva/jose/issues/210#jws-alg Algorithm Key Requirements}.
|
|
39
|
+
* @param options JWS Verify options.
|
|
40
|
+
*/
|
|
41
|
+
export declare function generalVerify(jws: types.GeneralJWSInput, getKey: GeneralVerifyGetKey, options?: types.VerifyOptions): Promise<types.GeneralVerifyResult & types.ResolvedKey>;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JSON Web Token (JWT) Decryption (JWT is in JWE format)
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
import type * as types from '../types.d.ts';
|
|
7
|
+
/** Combination of JWE Decryption options and JWT Claims Set verification options. */
|
|
8
|
+
export interface JWTDecryptOptions extends types.DecryptOptions, types.JWTClaimVerificationOptions {
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Interface for JWT Decryption dynamic key resolution. No token components have been verified at
|
|
12
|
+
* the time of this function call.
|
|
13
|
+
*/
|
|
14
|
+
export interface JWTDecryptGetKey extends types.GetKeyFunction<types.CompactJWEHeaderParameters, types.FlattenedJWE> {
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Verifies the JWT format (to be a JWE Compact format), decrypts the ciphertext, validates the JWT
|
|
18
|
+
* Claims Set.
|
|
19
|
+
*
|
|
20
|
+
* This function is exported (as a named export) from the main `'jose'` module entry point as well
|
|
21
|
+
* as from its subpath export `'jose/jwt/decrypt'`.
|
|
22
|
+
*
|
|
23
|
+
* @param jwt JSON Web Token value (encoded as JWE).
|
|
24
|
+
* @param key Private Key or Secret to decrypt and verify the JWT with. See
|
|
25
|
+
* {@link https://github.com/panva/jose/issues/210#jwe-alg Algorithm Key Requirements}.
|
|
26
|
+
* @param options JWT Decryption and JWT Claims Set validation options.
|
|
27
|
+
*/
|
|
28
|
+
export declare function jwtDecrypt<PayloadType = types.JWTPayload>(jwt: string | Uint8Array, key: types.CryptoKey | types.KeyObject | types.JWK | Uint8Array, options?: JWTDecryptOptions): Promise<types.JWTDecryptResult<PayloadType>>;
|
|
29
|
+
/**
|
|
30
|
+
* @param jwt JSON Web Token value (encoded as JWE).
|
|
31
|
+
* @param getKey Function resolving Private Key or Secret to decrypt and verify the JWT with. See
|
|
32
|
+
* {@link https://github.com/panva/jose/issues/210#jwe-alg Algorithm Key Requirements}.
|
|
33
|
+
* @param options JWT Decryption and JWT Claims Set validation options.
|
|
34
|
+
*/
|
|
35
|
+
export declare function jwtDecrypt<PayloadType = types.JWTPayload>(jwt: string | Uint8Array, getKey: JWTDecryptGetKey, options?: JWTDecryptOptions): Promise<types.JWTDecryptResult<PayloadType> & types.ResolvedKey>;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JSON Web Token (JWT) Encryption (JWT is in JWE format)
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
import type * as types from '../types.d.ts';
|
|
7
|
+
/**
|
|
8
|
+
* The EncryptJWT class is used to build and encrypt Compact JWE formatted JSON Web Tokens.
|
|
9
|
+
*
|
|
10
|
+
* This class is exported (as a named export) from the main `'jose'` module entry point as well as
|
|
11
|
+
* from its subpath export `'jose/jwt/encrypt'`.
|
|
12
|
+
*
|
|
13
|
+
*/
|
|
14
|
+
export declare class EncryptJWT implements types.ProduceJWT {
|
|
15
|
+
#private;
|
|
16
|
+
/**
|
|
17
|
+
* {@link EncryptJWT} constructor
|
|
18
|
+
*
|
|
19
|
+
* @param payload The JWT Claims Set object. Defaults to an empty object.
|
|
20
|
+
*/
|
|
21
|
+
constructor(payload?: types.JWTPayload);
|
|
22
|
+
setIssuer(issuer: string): this;
|
|
23
|
+
setSubject(subject: string): this;
|
|
24
|
+
setAudience(audience: string | string[]): this;
|
|
25
|
+
setJti(jwtId: string): this;
|
|
26
|
+
setNotBefore(input: number | string | Date): this;
|
|
27
|
+
setExpirationTime(input: number | string | Date): this;
|
|
28
|
+
setIssuedAt(input?: number | string | Date): this;
|
|
29
|
+
/**
|
|
30
|
+
* Sets the JWE Protected Header on the EncryptJWT object.
|
|
31
|
+
*
|
|
32
|
+
* @param protectedHeader JWE Protected Header. Must contain an "alg" (JWE Algorithm) and "enc"
|
|
33
|
+
* (JWE Encryption Algorithm) properties.
|
|
34
|
+
*/
|
|
35
|
+
setProtectedHeader(protectedHeader: types.CompactJWEHeaderParameters): this;
|
|
36
|
+
/**
|
|
37
|
+
* Sets the JWE Key Management parameters to be used when encrypting.
|
|
38
|
+
*
|
|
39
|
+
* (ECDH-ES) Use of this method is needed for ECDH based algorithms to set the "apu" (Agreement
|
|
40
|
+
* PartyUInfo) or "apv" (Agreement PartyVInfo) parameters.
|
|
41
|
+
*
|
|
42
|
+
* @param parameters JWE Key Management parameters.
|
|
43
|
+
*/
|
|
44
|
+
setKeyManagementParameters(parameters: types.JWEKeyManagementHeaderParameters): this;
|
|
45
|
+
/**
|
|
46
|
+
* Sets a content encryption key to use, by default a random suitable one is generated for the JWE
|
|
47
|
+
* enc" (Encryption Algorithm) Header Parameter.
|
|
48
|
+
*
|
|
49
|
+
* @deprecated You should not use this method. It is only really intended for test and vector
|
|
50
|
+
* validation purposes.
|
|
51
|
+
*
|
|
52
|
+
* @param cek JWE Content Encryption Key.
|
|
53
|
+
*/
|
|
54
|
+
setContentEncryptionKey(cek: Uint8Array): this;
|
|
55
|
+
/**
|
|
56
|
+
* Sets the JWE Initialization Vector to use for content encryption, by default a random suitable
|
|
57
|
+
* one is generated for the JWE enc" (Encryption Algorithm) Header Parameter.
|
|
58
|
+
*
|
|
59
|
+
* @deprecated You should not use this method. It is only really intended for test and vector
|
|
60
|
+
* validation purposes.
|
|
61
|
+
*
|
|
62
|
+
* @param iv JWE Initialization Vector.
|
|
63
|
+
*/
|
|
64
|
+
setInitializationVector(iv: Uint8Array): this;
|
|
65
|
+
/**
|
|
66
|
+
* Replicates the "iss" (Issuer) Claim as a JWE Protected Header Parameter.
|
|
67
|
+
*
|
|
68
|
+
* @see {@link https://www.rfc-editor.org/rfc/rfc7519#section-5.3 RFC7519#section-5.3}
|
|
69
|
+
*/
|
|
70
|
+
replicateIssuerAsHeader(): this;
|
|
71
|
+
/**
|
|
72
|
+
* Replicates the "sub" (Subject) Claim as a JWE Protected Header Parameter.
|
|
73
|
+
*
|
|
74
|
+
* @see {@link https://www.rfc-editor.org/rfc/rfc7519#section-5.3 RFC7519#section-5.3}
|
|
75
|
+
*/
|
|
76
|
+
replicateSubjectAsHeader(): this;
|
|
77
|
+
/**
|
|
78
|
+
* Replicates the "aud" (Audience) Claim as a JWE Protected Header Parameter.
|
|
79
|
+
*
|
|
80
|
+
* @see {@link https://www.rfc-editor.org/rfc/rfc7519#section-5.3 RFC7519#section-5.3}
|
|
81
|
+
*/
|
|
82
|
+
replicateAudienceAsHeader(): this;
|
|
83
|
+
/**
|
|
84
|
+
* Encrypts and returns the JWT.
|
|
85
|
+
*
|
|
86
|
+
* @param key Public Key or Secret to encrypt the JWT with. See
|
|
87
|
+
* {@link https://github.com/panva/jose/issues/210#jwe-alg Algorithm Key Requirements}.
|
|
88
|
+
* @param options JWE Encryption options.
|
|
89
|
+
*/
|
|
90
|
+
encrypt(key: types.CryptoKey | types.KeyObject | types.JWK | Uint8Array, options?: types.EncryptOptions): Promise<string>;
|
|
91
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JSON Web Token (JWT) Signing (JWT is in JWS format)
|
|
3
|
+
*
|
|
4
|
+
* @module
|
|
5
|
+
*/
|
|
6
|
+
import type * as types from '../types.d.ts';
|
|
7
|
+
/**
|
|
8
|
+
* The SignJWT class is used to build and sign Compact JWS formatted JSON Web Tokens.
|
|
9
|
+
*
|
|
10
|
+
* This class is exported (as a named export) from the main `'jose'` module entry point as well as
|
|
11
|
+
* from its subpath export `'jose/jwt/sign'`.
|
|
12
|
+
*
|
|
13
|
+
*/
|
|
14
|
+
export declare class SignJWT implements types.ProduceJWT {
|
|
15
|
+
#private;
|
|
16
|
+
/**
|
|
17
|
+
* {@link SignJWT} constructor
|
|
18
|
+
*
|
|
19
|
+
* @param payload The JWT Claims Set object. Defaults to an empty object.
|
|
20
|
+
*/
|
|
21
|
+
constructor(payload?: types.JWTPayload);
|
|
22
|
+
setIssuer(issuer: string): this;
|
|
23
|
+
setSubject(subject: string): this;
|
|
24
|
+
setAudience(audience: string | string[]): this;
|
|
25
|
+
setJti(jwtId: string): this;
|
|
26
|
+
setNotBefore(input: number | string | Date): this;
|
|
27
|
+
setExpirationTime(input: number | string | Date): this;
|
|
28
|
+
setIssuedAt(input?: number | string | Date): this;
|
|
29
|
+
/**
|
|
30
|
+
* Sets the JWS Protected Header on the SignJWT object.
|
|
31
|
+
*
|
|
32
|
+
* @param protectedHeader JWS Protected Header. Must contain an "alg" (JWS Algorithm) property.
|
|
33
|
+
*/
|
|
34
|
+
setProtectedHeader(protectedHeader: types.JWTHeaderParameters): this;
|
|
35
|
+
/**
|
|
36
|
+
* Signs and returns the JWT.
|
|
37
|
+
*
|
|
38
|
+
* @param key Private Key or Secret to sign the JWT with. See
|
|
39
|
+
* {@link https://github.com/panva/jose/issues/210#jws-alg Algorithm Key Requirements}.
|
|
40
|
+
* @param options JWT Sign options.
|
|
41
|
+
*/
|
|
42
|
+
sign(key: types.CryptoKey | types.KeyObject | types.JWK | Uint8Array, options?: types.SignOptions): Promise<string>;
|
|
43
|
+
}
|