@lindorm/aegis 0.8.0 → 0.9.0
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/README.md +84 -5
- package/dist/classes/Aegis.d.ts +20 -5
- package/dist/classes/Aegis.d.ts.map +1 -1
- package/dist/classes/Aegis.js +259 -45
- package/dist/classes/Aegis.js.map +1 -1
- package/dist/classes/CoseKit.d.ts +31 -0
- package/dist/classes/CoseKit.d.ts.map +1 -0
- package/dist/classes/CoseKit.js +64 -0
- package/dist/classes/CoseKit.js.map +1 -0
- package/dist/classes/CweKit.d.ts +24 -0
- package/dist/classes/CweKit.d.ts.map +1 -0
- package/dist/classes/CweKit.js +73 -0
- package/dist/classes/CweKit.js.map +1 -0
- package/dist/classes/CwmKit.d.ts +22 -0
- package/dist/classes/CwmKit.d.ts.map +1 -0
- package/dist/classes/CwmKit.js +54 -0
- package/dist/classes/CwmKit.js.map +1 -0
- package/dist/classes/CwsKit.d.ts +24 -0
- package/dist/classes/CwsKit.d.ts.map +1 -0
- package/dist/classes/CwsKit.js +60 -0
- package/dist/classes/CwsKit.js.map +1 -0
- package/dist/classes/CwtKit.d.ts +31 -0
- package/dist/classes/CwtKit.d.ts.map +1 -0
- package/dist/classes/CwtKit.js +65 -0
- package/dist/classes/CwtKit.js.map +1 -0
- package/dist/classes/JoseKit.d.ts +32 -0
- package/dist/classes/JoseKit.d.ts.map +1 -0
- package/dist/classes/JoseKit.js +66 -0
- package/dist/classes/JoseKit.js.map +1 -0
- package/dist/classes/JweKit.d.ts.map +1 -1
- package/dist/classes/JweKit.js +31 -3
- package/dist/classes/JweKit.js.map +1 -1
- package/dist/classes/JwsKit.d.ts.map +1 -1
- package/dist/classes/JwsKit.js +19 -3
- package/dist/classes/JwsKit.js.map +1 -1
- package/dist/classes/JwtKit.d.ts +4 -1
- package/dist/classes/JwtKit.d.ts.map +1 -1
- package/dist/classes/JwtKit.js +100 -20
- package/dist/classes/JwtKit.js.map +1 -1
- package/dist/classes/SignatureKit.d.ts.map +1 -1
- package/dist/classes/SignatureKit.js +5 -1
- package/dist/classes/SignatureKit.js.map +1 -1
- package/dist/constants/token-type.d.ts +1 -1
- package/dist/constants/token-type.d.ts.map +1 -1
- package/dist/constants/token-type.js +2 -0
- package/dist/constants/token-type.js.map +1 -1
- package/dist/errors/AegisError.d.ts +1 -0
- package/dist/errors/AegisError.d.ts.map +1 -1
- package/dist/errors/AegisError.js +1 -0
- package/dist/errors/AegisError.js.map +1 -1
- package/dist/errors/JweError.d.ts +1 -0
- package/dist/errors/JweError.d.ts.map +1 -1
- package/dist/errors/JweError.js +1 -0
- package/dist/errors/JweError.js.map +1 -1
- package/dist/errors/JwsError.d.ts +1 -0
- package/dist/errors/JwsError.d.ts.map +1 -1
- package/dist/errors/JwsError.js +1 -0
- package/dist/errors/JwsError.js.map +1 -1
- package/dist/errors/JwtError.d.ts +1 -0
- package/dist/errors/JwtError.d.ts.map +1 -1
- package/dist/errors/JwtError.js +1 -0
- package/dist/errors/JwtError.js.map +1 -1
- package/dist/interfaces/Aegis.d.ts +6 -1
- package/dist/interfaces/Aegis.d.ts.map +1 -1
- package/dist/internal/claims/events.d.ts +5 -0
- package/dist/internal/claims/events.d.ts.map +1 -0
- package/dist/internal/claims/events.js +3 -0
- package/dist/internal/claims/events.js.map +1 -0
- package/dist/internal/claims/registry.d.ts +14 -0
- package/dist/internal/claims/registry.d.ts.map +1 -0
- package/dist/internal/claims/registry.js +61 -0
- package/dist/internal/claims/registry.js.map +1 -0
- package/dist/internal/claims/sub-id.d.ts +7 -0
- package/dist/internal/claims/sub-id.d.ts.map +1 -0
- package/dist/internal/claims/sub-id.js +11 -0
- package/dist/internal/claims/sub-id.js.map +1 -0
- package/dist/internal/cose/act-claim.d.ts +4 -0
- package/dist/internal/cose/act-claim.d.ts.map +1 -0
- package/dist/internal/cose/act-claim.js +8 -0
- package/dist/internal/cose/act-claim.js.map +1 -0
- package/dist/internal/cose/alg-labels.d.ts +4 -0
- package/dist/internal/cose/alg-labels.d.ts.map +1 -0
- package/dist/internal/cose/alg-labels.js +42 -0
- package/dist/internal/cose/alg-labels.js.map +1 -0
- package/dist/internal/cose/cbor.d.ts +11 -0
- package/dist/internal/cose/cbor.d.ts.map +1 -0
- package/dist/internal/cose/cbor.js +37 -0
- package/dist/internal/cose/cbor.js.map +1 -0
- package/dist/internal/cose/compact-map.d.ts +11 -0
- package/dist/internal/cose/compact-map.d.ts.map +1 -0
- package/dist/internal/cose/compact-map.js +43 -0
- package/dist/internal/cose/compact-map.js.map +1 -0
- package/dist/internal/cose/cose-key-thumbprint.d.ts +5 -0
- package/dist/internal/cose/cose-key-thumbprint.d.ts.map +1 -0
- package/dist/internal/cose/cose-key-thumbprint.js +60 -0
- package/dist/internal/cose/cose-key-thumbprint.js.map +1 -0
- package/dist/internal/cose/cose-key.d.ts +8 -0
- package/dist/internal/cose/cose-key.d.ts.map +1 -0
- package/dist/internal/cose/cose-key.js +98 -0
- package/dist/internal/cose/cose-key.js.map +1 -0
- package/dist/internal/cose/cose-typ.d.ts +2 -0
- package/dist/internal/cose/cose-typ.d.ts.map +1 -0
- package/dist/internal/cose/cose-typ.js +8 -0
- package/dist/internal/cose/cose-typ.js.map +1 -0
- package/dist/internal/cose/cwt-claims.d.ts +7 -0
- package/dist/internal/cose/cwt-claims.d.ts.map +1 -0
- package/dist/internal/cose/cwt-claims.js +94 -0
- package/dist/internal/cose/cwt-claims.js.map +1 -0
- package/dist/internal/cose/enc-labels.d.ts +5 -0
- package/dist/internal/cose/enc-labels.d.ts.map +1 -0
- package/dist/internal/cose/enc-labels.js +47 -0
- package/dist/internal/cose/enc-labels.js.map +1 -0
- package/dist/internal/cose/structures.d.ts +20 -0
- package/dist/internal/cose/structures.d.ts.map +1 -0
- package/dist/internal/cose/structures.js +22 -0
- package/dist/internal/cose/structures.js.map +1 -0
- package/dist/internal/cose/sub-id-claim.d.ts +4 -0
- package/dist/internal/cose/sub-id-claim.d.ts.map +1 -0
- package/dist/internal/cose/sub-id-claim.js +18 -0
- package/dist/internal/cose/sub-id-claim.js.map +1 -0
- package/dist/internal/profiles/definitions/access-token.d.ts +3 -0
- package/dist/internal/profiles/definitions/access-token.d.ts.map +1 -0
- package/dist/internal/profiles/definitions/access-token.js +31 -0
- package/dist/internal/profiles/definitions/access-token.js.map +1 -0
- package/dist/internal/profiles/definitions/client-assertion.d.ts +3 -0
- package/dist/internal/profiles/definitions/client-assertion.d.ts.map +1 -0
- package/dist/internal/profiles/definitions/client-assertion.js +18 -0
- package/dist/internal/profiles/definitions/client-assertion.js.map +1 -0
- package/dist/internal/profiles/definitions/default.d.ts +3 -0
- package/dist/internal/profiles/definitions/default.d.ts.map +1 -0
- package/dist/internal/profiles/definitions/default.js +14 -0
- package/dist/internal/profiles/definitions/default.js.map +1 -0
- package/dist/internal/profiles/definitions/delegation.d.ts +3 -0
- package/dist/internal/profiles/definitions/delegation.d.ts.map +1 -0
- package/dist/internal/profiles/definitions/delegation.js +19 -0
- package/dist/internal/profiles/definitions/delegation.js.map +1 -0
- package/dist/internal/profiles/definitions/erasure-token.d.ts +3 -0
- package/dist/internal/profiles/definitions/erasure-token.d.ts.map +1 -0
- package/dist/internal/profiles/definitions/erasure-token.js +28 -0
- package/dist/internal/profiles/definitions/erasure-token.js.map +1 -0
- package/dist/internal/profiles/definitions/id-token.d.ts +3 -0
- package/dist/internal/profiles/definitions/id-token.d.ts.map +1 -0
- package/dist/internal/profiles/definitions/id-token.js +26 -0
- package/dist/internal/profiles/definitions/id-token.js.map +1 -0
- package/dist/internal/profiles/definitions/introspection.d.ts +3 -0
- package/dist/internal/profiles/definitions/introspection.d.ts.map +1 -0
- package/dist/internal/profiles/definitions/introspection.js +18 -0
- package/dist/internal/profiles/definitions/introspection.js.map +1 -0
- package/dist/internal/profiles/definitions/jarm.d.ts +3 -0
- package/dist/internal/profiles/definitions/jarm.d.ts.map +1 -0
- package/dist/internal/profiles/definitions/jarm.js +19 -0
- package/dist/internal/profiles/definitions/jarm.js.map +1 -0
- package/dist/internal/profiles/definitions/logout-token.d.ts +3 -0
- package/dist/internal/profiles/definitions/logout-token.d.ts.map +1 -0
- package/dist/internal/profiles/definitions/logout-token.js +20 -0
- package/dist/internal/profiles/definitions/logout-token.js.map +1 -0
- package/dist/internal/profiles/definitions/security-event.d.ts +3 -0
- package/dist/internal/profiles/definitions/security-event.d.ts.map +1 -0
- package/dist/internal/profiles/definitions/security-event.js +20 -0
- package/dist/internal/profiles/definitions/security-event.js.map +1 -0
- package/dist/internal/profiles/definitions/userinfo.d.ts +3 -0
- package/dist/internal/profiles/definitions/userinfo.d.ts.map +1 -0
- package/dist/internal/profiles/definitions/userinfo.js +18 -0
- package/dist/internal/profiles/definitions/userinfo.js.map +1 -0
- package/dist/internal/profiles/registry.d.ts +4 -0
- package/dist/internal/profiles/registry.d.ts.map +1 -0
- package/dist/internal/profiles/registry.js +41 -0
- package/dist/internal/profiles/registry.js.map +1 -0
- package/dist/internal/utils/assemble-common-claims.d.ts +12 -0
- package/dist/internal/utils/assemble-common-claims.d.ts.map +1 -0
- package/dist/internal/utils/assemble-common-claims.js +66 -0
- package/dist/internal/utils/assemble-common-claims.js.map +1 -0
- package/dist/internal/utils/build-profile-claims.d.ts +14 -0
- package/dist/internal/utils/build-profile-claims.d.ts.map +1 -0
- package/dist/internal/utils/build-profile-claims.js +75 -0
- package/dist/internal/utils/build-profile-claims.js.map +1 -0
- package/dist/internal/utils/compute-jwk-thumbprint.js +8 -1
- package/dist/internal/utils/compute-jwk-thumbprint.js.map +1 -1
- package/dist/internal/utils/compute-typ-header.d.ts.map +1 -1
- package/dist/internal/utils/compute-typ-header.js +20 -5
- package/dist/internal/utils/compute-typ-header.js.map +1 -1
- package/dist/internal/utils/create-hash.d.ts.map +1 -1
- package/dist/internal/utils/create-hash.js +7 -7
- package/dist/internal/utils/create-hash.js.map +1 -1
- package/dist/internal/utils/enforce-verify-floor.d.ts +12 -0
- package/dist/internal/utils/enforce-verify-floor.d.ts.map +1 -0
- package/dist/internal/utils/enforce-verify-floor.js +43 -0
- package/dist/internal/utils/enforce-verify-floor.js.map +1 -0
- package/dist/internal/utils/extract-claims.d.ts +2 -1
- package/dist/internal/utils/extract-claims.d.ts.map +1 -1
- package/dist/internal/utils/extract-claims.js +10 -4
- package/dist/internal/utils/extract-claims.js.map +1 -1
- package/dist/internal/utils/jose-header.d.ts.map +1 -1
- package/dist/internal/utils/jose-header.js +38 -7
- package/dist/internal/utils/jose-header.js.map +1 -1
- package/dist/internal/utils/jwt-payload.d.ts +8 -6
- package/dist/internal/utils/jwt-payload.d.ts.map +1 -1
- package/dist/internal/utils/jwt-payload.js +32 -96
- package/dist/internal/utils/jwt-payload.js.map +1 -1
- package/dist/internal/utils/jwt-validate.d.ts.map +1 -1
- package/dist/internal/utils/jwt-validate.js +7 -1
- package/dist/internal/utils/jwt-validate.js.map +1 -1
- package/dist/internal/utils/jwt-verify.d.ts.map +1 -1
- package/dist/internal/utils/jwt-verify.js +17 -4
- package/dist/internal/utils/jwt-verify.js.map +1 -1
- package/dist/internal/utils/map-content-to-claims.d.ts +8 -0
- package/dist/internal/utils/map-content-to-claims.d.ts.map +1 -0
- package/dist/internal/utils/map-content-to-claims.js +89 -0
- package/dist/internal/utils/map-content-to-claims.js.map +1 -0
- package/dist/internal/utils/parse-introspection.d.ts.map +1 -1
- package/dist/internal/utils/parse-introspection.js +5 -1
- package/dist/internal/utils/parse-introspection.js.map +1 -1
- package/dist/internal/utils/parse-userinfo.d.ts.map +1 -1
- package/dist/internal/utils/parse-userinfo.js +5 -1
- package/dist/internal/utils/parse-userinfo.js.map +1 -1
- package/dist/internal/utils/resolve-cert-binding.d.ts.map +1 -1
- package/dist/internal/utils/resolve-cert-binding.js +3 -0
- package/dist/internal/utils/resolve-cert-binding.js.map +1 -1
- package/dist/internal/utils/rules/act-chain-shape.d.ts +4 -0
- package/dist/internal/utils/rules/act-chain-shape.d.ts.map +1 -0
- package/dist/internal/utils/rules/act-chain-shape.js +52 -0
- package/dist/internal/utils/rules/act-chain-shape.js.map +1 -0
- package/dist/internal/utils/rules/alg-permitted.d.ts +6 -0
- package/dist/internal/utils/rules/alg-permitted.d.ts.map +1 -0
- package/dist/internal/utils/rules/alg-permitted.js +35 -0
- package/dist/internal/utils/rules/alg-permitted.js.map +1 -0
- package/dist/internal/utils/rules/at-least-one-of.d.ts +4 -0
- package/dist/internal/utils/rules/at-least-one-of.d.ts.map +1 -0
- package/dist/internal/utils/rules/at-least-one-of.js +13 -0
- package/dist/internal/utils/rules/at-least-one-of.js.map +1 -0
- package/dist/internal/utils/rules/aud-single-resource.d.ts +4 -0
- package/dist/internal/utils/rules/aud-single-resource.d.ts.map +1 -0
- package/dist/internal/utils/rules/aud-single-resource.js +18 -0
- package/dist/internal/utils/rules/aud-single-resource.js.map +1 -0
- package/dist/internal/utils/rules/cnf-shape.d.ts +4 -0
- package/dist/internal/utils/rules/cnf-shape.d.ts.map +1 -0
- package/dist/internal/utils/rules/cnf-shape.js +55 -0
- package/dist/internal/utils/rules/cnf-shape.js.map +1 -0
- package/dist/internal/utils/rules/cross-field.d.ts +4 -0
- package/dist/internal/utils/rules/cross-field.d.ts.map +1 -0
- package/dist/internal/utils/rules/cross-field.js +21 -0
- package/dist/internal/utils/rules/cross-field.js.map +1 -0
- package/dist/internal/utils/rules/events-shape.d.ts +4 -0
- package/dist/internal/utils/rules/events-shape.d.ts.map +1 -0
- package/dist/internal/utils/rules/events-shape.js +33 -0
- package/dist/internal/utils/rules/events-shape.js.map +1 -0
- package/dist/internal/utils/rules/every-element-has-key.d.ts +4 -0
- package/dist/internal/utils/rules/every-element-has-key.d.ts.map +1 -0
- package/dist/internal/utils/rules/every-element-has-key.js +20 -0
- package/dist/internal/utils/rules/every-element-has-key.js.map +1 -0
- package/dist/internal/utils/rules/forbid-present.d.ts +4 -0
- package/dist/internal/utils/rules/forbid-present.d.ts.map +1 -0
- package/dist/internal/utils/rules/forbid-present.js +10 -0
- package/dist/internal/utils/rules/forbid-present.js.map +1 -0
- package/dist/internal/utils/rules/index.d.ts +14 -0
- package/dist/internal/utils/rules/index.d.ts.map +1 -0
- package/dist/internal/utils/rules/index.js +14 -0
- package/dist/internal/utils/rules/index.js.map +1 -0
- package/dist/internal/utils/rules/iss-uri.d.ts +4 -0
- package/dist/internal/utils/rules/iss-uri.d.ts.map +1 -0
- package/dist/internal/utils/rules/iss-uri.js +11 -0
- package/dist/internal/utils/rules/iss-uri.js.map +1 -0
- package/dist/internal/utils/rules/require-present.d.ts +4 -0
- package/dist/internal/utils/rules/require-present.d.ts.map +1 -0
- package/dist/internal/utils/rules/require-present.js +10 -0
- package/dist/internal/utils/rules/require-present.js.map +1 -0
- package/dist/internal/utils/rules/required-when.d.ts +8 -0
- package/dist/internal/utils/rules/required-when.d.ts.map +1 -0
- package/dist/internal/utils/rules/required-when.js +13 -0
- package/dist/internal/utils/rules/required-when.js.map +1 -0
- package/dist/internal/utils/rules/sub-id-shape.d.ts +4 -0
- package/dist/internal/utils/rules/sub-id-shape.d.ts.map +1 -0
- package/dist/internal/utils/rules/sub-id-shape.js +26 -0
- package/dist/internal/utils/rules/sub-id-shape.js.map +1 -0
- package/dist/internal/utils/select-encoder.d.ts +6 -0
- package/dist/internal/utils/select-encoder.d.ts.map +1 -0
- package/dist/internal/utils/select-encoder.js +4 -0
- package/dist/internal/utils/select-encoder.js.map +1 -0
- package/dist/internal/utils/validate-actor.d.ts +8 -1
- package/dist/internal/utils/validate-actor.d.ts.map +1 -1
- package/dist/internal/utils/validate-actor.js +32 -7
- package/dist/internal/utils/validate-actor.js.map +1 -1
- package/dist/internal/utils/validate-profile-claims.d.ts +8 -0
- package/dist/internal/utils/validate-profile-claims.d.ts.map +1 -0
- package/dist/internal/utils/validate-profile-claims.js +45 -0
- package/dist/internal/utils/validate-profile-claims.js.map +1 -0
- package/dist/internal/utils/validate.d.ts.map +1 -1
- package/dist/internal/utils/validate.js +8 -1
- package/dist/internal/utils/validate.js.map +1 -1
- package/dist/internal/utils/verify-cert-binding.d.ts.map +1 -1
- package/dist/internal/utils/verify-cert-binding.js +9 -1
- package/dist/internal/utils/verify-cert-binding.js.map +1 -1
- package/dist/internal/utils/verify-dpop-proof.d.ts.map +1 -1
- package/dist/internal/utils/verify-dpop-proof.js +41 -7
- package/dist/internal/utils/verify-dpop-proof.js.map +1 -1
- package/dist/types/claims/aegis-introspection.d.ts +2 -1
- package/dist/types/claims/aegis-introspection.d.ts.map +1 -1
- package/dist/types/claims/index.d.ts +2 -0
- package/dist/types/claims/index.d.ts.map +1 -1
- package/dist/types/claims/index.js +2 -0
- package/dist/types/claims/index.js.map +1 -1
- package/dist/types/claims/jwt/index.d.ts +2 -0
- package/dist/types/claims/jwt/index.d.ts.map +1 -1
- package/dist/types/claims/jwt/index.js +2 -0
- package/dist/types/claims/jwt/index.js.map +1 -1
- package/dist/types/claims/jwt/jwt-claims.d.ts +3 -1
- package/dist/types/claims/jwt/jwt-claims.d.ts.map +1 -1
- package/dist/types/claims/jwt/lindorm-claims-wire.d.ts +1 -2
- package/dist/types/claims/jwt/lindorm-claims-wire.d.ts.map +1 -1
- package/dist/types/claims/jwt/oidc-claims-wire.d.ts +2 -0
- package/dist/types/claims/jwt/oidc-claims-wire.d.ts.map +1 -1
- package/dist/types/claims/jwt/rar-claims-wire.d.ts +5 -0
- package/dist/types/claims/jwt/rar-claims-wire.d.ts.map +1 -0
- package/dist/types/claims/jwt/rar-claims-wire.js +2 -0
- package/dist/types/claims/jwt/rar-claims-wire.js.map +1 -0
- package/dist/types/claims/jwt/set-claims-wire.d.ts +9 -0
- package/dist/types/claims/jwt/set-claims-wire.d.ts.map +1 -0
- package/dist/types/claims/jwt/set-claims-wire.js +2 -0
- package/dist/types/claims/jwt/set-claims-wire.js.map +1 -0
- package/dist/types/claims/lindorm-claims.d.ts +1 -2
- package/dist/types/claims/lindorm-claims.d.ts.map +1 -1
- package/dist/types/claims/oidc-claims.d.ts +2 -0
- package/dist/types/claims/oidc-claims.d.ts.map +1 -1
- package/dist/types/claims/rar-claims.d.ts +5 -0
- package/dist/types/claims/rar-claims.d.ts.map +1 -0
- package/dist/types/claims/rar-claims.js +2 -0
- package/dist/types/claims/rar-claims.js.map +1 -0
- package/dist/types/claims/set-claims.d.ts +8 -0
- package/dist/types/claims/set-claims.d.ts.map +1 -0
- package/dist/types/claims/set-claims.js +2 -0
- package/dist/types/claims/set-claims.js.map +1 -0
- package/dist/types/jwt/index.d.ts +1 -0
- package/dist/types/jwt/index.d.ts.map +1 -1
- package/dist/types/jwt/index.js +1 -0
- package/dist/types/jwt/index.js.map +1 -1
- package/dist/types/jwt/jwt-claim-matchers.d.ts +2 -1
- package/dist/types/jwt/jwt-claim-matchers.d.ts.map +1 -1
- package/dist/types/jwt/jwt-parse.d.ts +2 -2
- package/dist/types/jwt/jwt-parse.d.ts.map +1 -1
- package/dist/types/jwt/jwt-sign.d.ts +8 -6
- package/dist/types/jwt/jwt-sign.d.ts.map +1 -1
- package/dist/types/jwt/jwt-verify.d.ts +5 -1
- package/dist/types/jwt/jwt-verify.d.ts.map +1 -1
- package/dist/types/jwt/profile.d.ts +99 -0
- package/dist/types/jwt/profile.d.ts.map +1 -0
- package/dist/types/jwt/profile.js +2 -0
- package/dist/types/jwt/profile.js.map +1 -0
- package/dist/types/level-of-assurance.d.ts +0 -1
- package/dist/types/level-of-assurance.d.ts.map +1 -1
- package/package.json +19 -18
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const KNOWN_TOKEN_TYPES: readonly ["access_token", "refresh_token", "id_token", "logout_token", "security_event", "dpop"];
|
|
1
|
+
export declare const KNOWN_TOKEN_TYPES: readonly ["access_token", "refresh_token", "id_token", "logout_token", "erasure_token", "security_event", "dpop"];
|
|
2
2
|
type KnownTokenType = (typeof KNOWN_TOKEN_TYPES)[number];
|
|
3
3
|
export type TokenType = KnownTokenType | (string & {});
|
|
4
4
|
export declare const TOKEN_TYPE_TO_SHORT_NAME: Record<KnownTokenType, string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-type.d.ts","sourceRoot":"","sources":["../../src/constants/token-type.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"token-type.d.ts","sourceRoot":"","sources":["../../src/constants/token-type.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,mHAQpB,CAAC;AAEX,KAAK,cAAc,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD,MAAM,MAAM,SAAS,GAAG,cAAc,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEvD,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAQnE,CAAC"}
|
|
@@ -3,6 +3,7 @@ export const KNOWN_TOKEN_TYPES = [
|
|
|
3
3
|
"refresh_token",
|
|
4
4
|
"id_token",
|
|
5
5
|
"logout_token",
|
|
6
|
+
"erasure_token",
|
|
6
7
|
"security_event",
|
|
7
8
|
"dpop",
|
|
8
9
|
];
|
|
@@ -11,6 +12,7 @@ export const TOKEN_TYPE_TO_SHORT_NAME = {
|
|
|
11
12
|
refresh_token: "rt",
|
|
12
13
|
id_token: "JWT",
|
|
13
14
|
logout_token: "logout",
|
|
15
|
+
erasure_token: "erasure",
|
|
14
16
|
security_event: "secevent",
|
|
15
17
|
dpop: "dpop",
|
|
16
18
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-type.js","sourceRoot":"","sources":["../../src/constants/token-type.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,cAAc;IACd,eAAe;IACf,UAAU;IACV,cAAc;IACd,gBAAgB;IAChB,MAAM;CACE,CAAC;AAMX,MAAM,CAAC,MAAM,wBAAwB,GAAmC;IACtE,YAAY,EAAE,IAAI;IAClB,aAAa,EAAE,IAAI;IACnB,QAAQ,EAAE,KAAK;IACf,YAAY,EAAE,QAAQ;IACtB,cAAc,EAAE,UAAU;IAC1B,IAAI,EAAE,MAAM;CACb,CAAC"}
|
|
1
|
+
{"version":3,"file":"token-type.js","sourceRoot":"","sources":["../../src/constants/token-type.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,cAAc;IACd,eAAe;IACf,UAAU;IACV,cAAc;IACd,eAAe;IACf,gBAAgB;IAChB,MAAM;CACE,CAAC;AAMX,MAAM,CAAC,MAAM,wBAAwB,GAAmC;IACtE,YAAY,EAAE,IAAI;IAClB,aAAa,EAAE,IAAI;IACnB,QAAQ,EAAE,KAAK;IACf,YAAY,EAAE,QAAQ;IACtB,aAAa,EAAE,SAAS;IACxB,cAAc,EAAE,UAAU;IAC1B,IAAI,EAAE,MAAM;CACb,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AegisError.d.ts","sourceRoot":"","sources":["../../src/errors/AegisError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,qBAAa,UAAW,SAAQ,YAAY;
|
|
1
|
+
{"version":3,"file":"AegisError.d.ts","sourceRoot":"","sources":["../../src/errors/AegisError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,qBAAa,UAAW,SAAQ,YAAY;IAC1C,gBAAuB,SAAS,WAAW;CAC5C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AegisError.js","sourceRoot":"","sources":["../../src/errors/AegisError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,OAAO,UAAW,SAAQ,YAAY;
|
|
1
|
+
{"version":3,"file":"AegisError.js","sourceRoot":"","sources":["../../src/errors/AegisError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,OAAO,UAAW,SAAQ,YAAY;IACnC,MAAM,CAAU,SAAS,GAAG,OAAO,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JweError.d.ts","sourceRoot":"","sources":["../../src/errors/JweError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,qBAAa,QAAS,SAAQ,YAAY;
|
|
1
|
+
{"version":3,"file":"JweError.d.ts","sourceRoot":"","sources":["../../src/errors/JweError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,qBAAa,QAAS,SAAQ,YAAY;IACxC,gBAAuB,SAAS,WAAW;CAC5C"}
|
package/dist/errors/JweError.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JweError.js","sourceRoot":"","sources":["../../src/errors/JweError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,OAAO,QAAS,SAAQ,YAAY;
|
|
1
|
+
{"version":3,"file":"JweError.js","sourceRoot":"","sources":["../../src/errors/JweError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,OAAO,QAAS,SAAQ,YAAY;IACjC,MAAM,CAAU,SAAS,GAAG,OAAO,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JwsError.d.ts","sourceRoot":"","sources":["../../src/errors/JwsError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,qBAAa,QAAS,SAAQ,YAAY;
|
|
1
|
+
{"version":3,"file":"JwsError.d.ts","sourceRoot":"","sources":["../../src/errors/JwsError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,qBAAa,QAAS,SAAQ,YAAY;IACxC,gBAAuB,SAAS,WAAW;CAC5C"}
|
package/dist/errors/JwsError.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JwsError.js","sourceRoot":"","sources":["../../src/errors/JwsError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,OAAO,QAAS,SAAQ,YAAY;
|
|
1
|
+
{"version":3,"file":"JwsError.js","sourceRoot":"","sources":["../../src/errors/JwsError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,OAAO,QAAS,SAAQ,YAAY;IACjC,MAAM,CAAU,SAAS,GAAG,OAAO,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JwtError.d.ts","sourceRoot":"","sources":["../../src/errors/JwtError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,qBAAa,QAAS,SAAQ,YAAY;
|
|
1
|
+
{"version":3,"file":"JwtError.d.ts","sourceRoot":"","sources":["../../src/errors/JwtError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,qBAAa,QAAS,SAAQ,YAAY;IACxC,gBAAuB,SAAS,WAAW;CAC5C"}
|
package/dist/errors/JwtError.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JwtError.js","sourceRoot":"","sources":["../../src/errors/JwtError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,OAAO,QAAS,SAAQ,YAAY;
|
|
1
|
+
{"version":3,"file":"JwtError.js","sourceRoot":"","sources":["../../src/errors/JwtError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,OAAO,QAAS,SAAQ,YAAY;IACjC,MAAM,CAAU,SAAS,GAAG,OAAO,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AesContent, AesDecryptionRecord, AesEncryptionRecord, SerialisedAesDecryption, SerialisedAesEncryption } from "@lindorm/aes";
|
|
2
2
|
import type { Dict } from "@lindorm/types";
|
|
3
|
-
import type { DecryptedJwe, EncryptedJwe, JweEncryptOptions, JwsContent, ParsedJws, ParsedJwt, SignJwsOptions, SignJwtContent, SignJwtOptions, SignedJws, SignedJwt, VerifyJwtOptions } from "../types/index.js";
|
|
3
|
+
import type { DecryptedJwe, EncryptedJwe, JweEncryptOptions, JwsContent, ParsedJws, ParsedJwt, ProfileContent, ProfileSignOptions, ProfileVerifyOptions, RawSignInput, SignContent, SignJwsOptions, SignJwtContent, SignJwtOptions, SignedJws, SignedJwt, TokenProfile, VerifyJwtOptions } from "../types/index.js";
|
|
4
4
|
export interface IAegisAes {
|
|
5
5
|
encrypt(data: AesContent, mode?: "encoded"): Promise<string>;
|
|
6
6
|
encrypt(data: AesContent, mode: "record"): Promise<AesEncryptionRecord>;
|
|
@@ -26,8 +26,13 @@ export interface IAegis {
|
|
|
26
26
|
jwe: IAegisJwe;
|
|
27
27
|
jws: IAegisJws;
|
|
28
28
|
jwt: IAegisJwt;
|
|
29
|
+
registerProfile(profile: TokenProfile): void;
|
|
30
|
+
sign(input: RawSignInput): Promise<SignedJws>;
|
|
31
|
+
mint<P extends keyof ProfileContent>(profile: P, content: ProfileContent[P], options?: ProfileSignOptions): Promise<SignedJwt>;
|
|
32
|
+
mint(profile: string & {}, content: SignContent, options?: ProfileSignOptions): Promise<SignedJwt>;
|
|
29
33
|
verify(token: string): Promise<ParsedJwt | ParsedJws<any>>;
|
|
30
34
|
verify<T extends ParsedJws<any>>(token: string): Promise<T>;
|
|
31
35
|
verify<T extends ParsedJwt>(token: string, options?: VerifyJwtOptions): Promise<T>;
|
|
36
|
+
verify<T extends ParsedJwt>(profile: string, token: string, options: ProfileVerifyOptions): Promise<T>;
|
|
32
37
|
}
|
|
33
38
|
//# sourceMappingURL=Aegis.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Aegis.d.ts","sourceRoot":"","sources":["../../src/interfaces/Aegis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,UAAU,EACV,SAAS,EACT,SAAS,EACT,cAAc,EACd,cAAc,EACd,cAAc,EACd,SAAS,EACT,SAAS,EACT,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7D,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACxE,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAChF,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9D,OAAO,CAAC,CAAC,SAAS,UAAU,GAAG,MAAM,EACnC,IAAI,EAAE,mBAAmB,GAAG,uBAAuB,GAAG,MAAM,GAC3D,OAAO,CAAC,CAAC,CAAC,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1E,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAClF,MAAM,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;CACpE;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,CAAC,SAAS,IAAI,GAAG,IAAI,EACxB,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,EAC1B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,SAAS,CAAC,CAAC;IACtB,MAAM,CAAC,CAAC,SAAS,IAAI,GAAG,IAAI,EAC1B,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB,GAAG,EAAE,SAAS,CAAC;IAEf,GAAG,EAAE,SAAS,CAAC;IACf,GAAG,EAAE,SAAS,CAAC;IACf,GAAG,EAAE,SAAS,CAAC;IAEf,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3D,MAAM,CAAC,CAAC,SAAS,SAAS,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5D,MAAM,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"Aegis.d.ts","sourceRoot":"","sources":["../../src/interfaces/Aegis.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Dict } from "@lindorm/types";
|
|
2
|
+
export type SecurityEvents = Record<string, Dict>;
|
|
3
|
+
export declare const BACKCHANNEL_LOGOUT_EVENT_URI = "http://schemas.openid.net/event/backchannel-logout";
|
|
4
|
+
export declare const RTBF_EVENT_URI = "urn:lindorm:event:rtbf";
|
|
5
|
+
//# sourceMappingURL=events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/internal/claims/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAS3C,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAElD,eAAO,MAAM,4BAA4B,uDACa,CAAC;AAEvD,eAAO,MAAM,cAAc,2BAA2B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/internal/claims/events.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,4BAA4B,GACvC,oDAAoD,CAAC;AAEvD,MAAM,CAAC,MAAM,cAAc,GAAG,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export type ClaimValueKind = "text" | "int" | "date" | "array" | "bstr" | "bespoke";
|
|
2
|
+
export type ClaimSpec = {
|
|
3
|
+
domain: string;
|
|
4
|
+
jose: string;
|
|
5
|
+
cose: number | null;
|
|
6
|
+
value: ClaimValueKind;
|
|
7
|
+
values?: Readonly<Record<string, number>>;
|
|
8
|
+
proprietary?: boolean;
|
|
9
|
+
};
|
|
10
|
+
export declare const CLAIM_REGISTRY: ReadonlyArray<ClaimSpec>;
|
|
11
|
+
export declare const specByDomain: (domain: string) => ClaimSpec | undefined;
|
|
12
|
+
export declare const specByJose: (jose: string) => ClaimSpec | undefined;
|
|
13
|
+
export declare const specByCose: (cose: number) => ClaimSpec | undefined;
|
|
14
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/internal/claims/registry.ts"],"names":[],"mappings":"AAoBA,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,KAAK,GACL,MAAM,GACN,OAAO,GACP,MAAM,GACN,SAAS,CAAC;AAEd,MAAM,MAAM,SAAS,GAAG;IAEtB,MAAM,EAAE,MAAM,CAAC;IAEf,IAAI,EAAE,MAAM,CAAC;IAMb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,cAAc,CAAC;IAKtB,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAE1C,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAWF,eAAO,MAAM,cAAc,EAAE,aAAa,CAAC,SAAS,CA+DnD,CAAC;AAgBF,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,KAAG,SAAS,GAAG,SACpC,CAAC;AAGvB,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,SAAS,GAAG,SAA6B,CAAC;AAGpF,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,SAAS,GAAG,SAA6B,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
const P = (n) => -65537 - n;
|
|
2
|
+
export const CLAIM_REGISTRY = [
|
|
3
|
+
{ domain: "issuer", jose: "iss", cose: 1, value: "text" },
|
|
4
|
+
{ domain: "subject", jose: "sub", cose: 2, value: "text" },
|
|
5
|
+
{ domain: "audience", jose: "aud", cose: 3, value: "array" },
|
|
6
|
+
{ domain: "expiresAt", jose: "exp", cose: 4, value: "date" },
|
|
7
|
+
{ domain: "notBefore", jose: "nbf", cose: 5, value: "date" },
|
|
8
|
+
{ domain: "issuedAt", jose: "iat", cose: 6, value: "date" },
|
|
9
|
+
{ domain: "tokenId", jose: "jti", cose: 7, value: "bstr" },
|
|
10
|
+
{ domain: "confirmation", jose: "cnf", cose: 8, value: "bespoke" },
|
|
11
|
+
{ domain: "scope", jose: "scope", cose: 9, value: "array" },
|
|
12
|
+
{ domain: "nonce", jose: "nonce", cose: null, value: "text" },
|
|
13
|
+
{ domain: "accessTokenHash", jose: "at_hash", cose: null, value: "bespoke" },
|
|
14
|
+
{ domain: "codeHash", jose: "c_hash", cose: null, value: "bespoke" },
|
|
15
|
+
{ domain: "stateHash", jose: "s_hash", cose: null, value: "bespoke" },
|
|
16
|
+
{ domain: "authContextClass", jose: "acr", cose: null, value: "text" },
|
|
17
|
+
{ domain: "authMethods", jose: "amr", cose: null, value: "array" },
|
|
18
|
+
{ domain: "authorizedParty", jose: "azp", cose: null, value: "text" },
|
|
19
|
+
{ domain: "authTime", jose: "auth_time", cose: null, value: "date" },
|
|
20
|
+
{ domain: "vectorOfTrust", jose: "vot", cose: null, value: "text" },
|
|
21
|
+
{ domain: "vectorTrustMark", jose: "vtm", cose: null, value: "text" },
|
|
22
|
+
{
|
|
23
|
+
domain: "authorizationDetails",
|
|
24
|
+
jose: "authorization_details",
|
|
25
|
+
cose: null,
|
|
26
|
+
value: "bespoke",
|
|
27
|
+
},
|
|
28
|
+
{ domain: "act", jose: "act", cose: null, value: "bespoke" },
|
|
29
|
+
{ domain: "mayAct", jose: "may_act", cose: null, value: "bespoke" },
|
|
30
|
+
{ domain: "entitlements", jose: "entitlements", cose: null, value: "array" },
|
|
31
|
+
{ domain: "groups", jose: "groups", cose: null, value: "array" },
|
|
32
|
+
{ domain: "roles", jose: "roles", cose: null, value: "array" },
|
|
33
|
+
{ domain: "permissions", jose: "permissions", cose: null, value: "array" },
|
|
34
|
+
{ domain: "clientId", jose: "client_id", cose: null, value: "text" },
|
|
35
|
+
{ domain: "grantType", jose: "gty", cose: null, value: "text" },
|
|
36
|
+
{ domain: "sessionId", jose: "sid", cose: null, value: "text" },
|
|
37
|
+
{ domain: "subjectId", jose: "sub_id", cose: null, value: "bespoke" },
|
|
38
|
+
{ domain: "events", jose: "events", cose: null, value: "bespoke" },
|
|
39
|
+
{ domain: "transactionId", jose: "txn", cose: null, value: "text" },
|
|
40
|
+
{
|
|
41
|
+
domain: "levelOfAssurance",
|
|
42
|
+
jose: "loa",
|
|
43
|
+
cose: P(0),
|
|
44
|
+
value: "int",
|
|
45
|
+
proprietary: true,
|
|
46
|
+
},
|
|
47
|
+
{ domain: "authFactor", jose: "afr", cose: P(1), value: "array", proprietary: true },
|
|
48
|
+
{ domain: "sessionHint", jose: "sih", cose: P(2), value: "text", proprietary: true },
|
|
49
|
+
{ domain: "subjectHint", jose: "suh", cose: P(3), value: "text", proprietary: true },
|
|
50
|
+
{ domain: "tenantId", jose: "tenant_id", cose: P(4), value: "text", proprietary: true },
|
|
51
|
+
];
|
|
52
|
+
const byDomain = new Map(CLAIM_REGISTRY.map((spec) => [spec.domain, spec]));
|
|
53
|
+
const byJose = new Map(CLAIM_REGISTRY.map((spec) => [spec.jose, spec]));
|
|
54
|
+
const byCose = new Map(CLAIM_REGISTRY.filter((spec) => spec.cose !== null).map((spec) => [
|
|
55
|
+
spec.cose,
|
|
56
|
+
spec,
|
|
57
|
+
]));
|
|
58
|
+
export const specByDomain = (domain) => byDomain.get(domain);
|
|
59
|
+
export const specByJose = (jose) => byJose.get(jose);
|
|
60
|
+
export const specByCose = (cose) => byCose.get(cose);
|
|
61
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/internal/claims/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Dict } from "@lindorm/types";
|
|
2
|
+
export type SubjectIdentifierFormat = "account" | "email" | "iss_sub" | "opaque" | "phone_number" | "did" | "uri" | "aliases" | (string & {});
|
|
3
|
+
export type SubjectIdentifier = {
|
|
4
|
+
format: SubjectIdentifierFormat;
|
|
5
|
+
} & Dict;
|
|
6
|
+
export declare const SUBJECT_IDENTIFIER_REQUIRED_MEMBERS: Record<string, Array<string>>;
|
|
7
|
+
//# sourceMappingURL=sub-id.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sub-id.d.ts","sourceRoot":"","sources":["../../../src/internal/claims/sub-id.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAW3C,MAAM,MAAM,uBAAuB,GAC/B,SAAS,GACT,OAAO,GACP,SAAS,GACT,QAAQ,GACR,cAAc,GACd,KAAK,GACL,KAAK,GACL,SAAS,GACT,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,uBAAuB,CAAC;CACjC,GAAG,IAAI,CAAC;AAOT,eAAO,MAAM,mCAAmC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAS7E,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export const SUBJECT_IDENTIFIER_REQUIRED_MEMBERS = {
|
|
2
|
+
account: ["uri"],
|
|
3
|
+
email: ["email"],
|
|
4
|
+
iss_sub: ["iss", "sub"],
|
|
5
|
+
opaque: ["id"],
|
|
6
|
+
phone_number: ["phone_number"],
|
|
7
|
+
did: ["url"],
|
|
8
|
+
uri: ["uri"],
|
|
9
|
+
aliases: ["identifiers"],
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=sub-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sub-id.js","sourceRoot":"","sources":["../../../src/internal/claims/sub-id.ts"],"names":[],"mappings":"AA+BA,MAAM,CAAC,MAAM,mCAAmC,GAAkC;IAChF,OAAO,EAAE,CAAC,KAAK,CAAC;IAChB,KAAK,EAAE,CAAC,OAAO,CAAC;IAChB,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IACvB,MAAM,EAAE,CAAC,IAAI,CAAC;IACd,YAAY,EAAE,CAAC,cAAc,CAAC;IAC9B,GAAG,EAAE,CAAC,KAAK,CAAC;IACZ,GAAG,EAAE,CAAC,KAAK,CAAC;IACZ,OAAO,EAAE,CAAC,aAAa,CAAC;CACzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"act-claim.d.ts","sourceRoot":"","sources":["../../../src/internal/cose/act-claim.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAgB3C,eAAO,MAAM,gBAAgB,GAAI,OAAO,IAAI,KAAG,GAAG,CAAC,MAAM,EAAE,OAAO,CAClC,CAAC;AAEjC,eAAO,MAAM,gBAAgB,GAAI,KAAK,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,IAC/B,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { compactDecode, compactEncode } from "./compact-map.js";
|
|
2
|
+
const ACT_SPEC = {
|
|
3
|
+
labels: { issuer: 1, subject: 2, audience: 3, clientId: 4, act: 5 },
|
|
4
|
+
nested: { act: { spec: () => ACT_SPEC } },
|
|
5
|
+
};
|
|
6
|
+
export const encodeActCompact = (actor) => compactEncode(actor, ACT_SPEC);
|
|
7
|
+
export const decodeActCompact = (map) => compactDecode(map, ACT_SPEC);
|
|
8
|
+
//# sourceMappingURL=act-claim.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"act-claim.js","sourceRoot":"","sources":["../../../src/internal/cose/act-claim.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAUlF,MAAM,QAAQ,GAAgB;IAC5B,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;IACnE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE;CAC1C,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAW,EAAwB,EAAE,CACpE,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAEjC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,GAAyB,EAAQ,EAAE,CAClE,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alg-labels.d.ts","sourceRoot":"","sources":["../../../src/internal/cose/alg-labels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAmCzD,eAAO,MAAM,cAAc,GAAI,WAAW,gBAAgB,KAAG,MAc5D,CAAC;AAGF,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,KAAG,MAa9C,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { AegisError } from "../../errors/index.js";
|
|
2
|
+
const JOSE_TO_COSE = {
|
|
3
|
+
ES256: -7,
|
|
4
|
+
ES384: -35,
|
|
5
|
+
ES512: -36,
|
|
6
|
+
EdDSA: -8,
|
|
7
|
+
PS256: -37,
|
|
8
|
+
PS384: -38,
|
|
9
|
+
PS512: -39,
|
|
10
|
+
RS256: -257,
|
|
11
|
+
RS384: -258,
|
|
12
|
+
RS512: -259,
|
|
13
|
+
HS256: 5,
|
|
14
|
+
HS384: 6,
|
|
15
|
+
HS512: 7,
|
|
16
|
+
};
|
|
17
|
+
const COSE_TO_JOSE = Object.fromEntries(Object.entries(JOSE_TO_COSE).map(([alg, label]) => [label, alg]));
|
|
18
|
+
export const algToCoseLabel = (algorithm) => {
|
|
19
|
+
const label = JOSE_TO_COSE[algorithm];
|
|
20
|
+
if (label === undefined) {
|
|
21
|
+
throw new AegisError(`No COSE algorithm label for "${algorithm}"`, {
|
|
22
|
+
code: "cose_algorithm_not_supported",
|
|
23
|
+
data: { algorithm },
|
|
24
|
+
title: "COSE Algorithm Not Supported",
|
|
25
|
+
details: "This signing/MAC algorithm has no mapped COSE label; supported COSE algorithms are ES*/EdDSA/PS*/RS*/HS*.",
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
return label;
|
|
29
|
+
};
|
|
30
|
+
export const coseLabelToAlg = (label) => {
|
|
31
|
+
const algorithm = COSE_TO_JOSE[label];
|
|
32
|
+
if (algorithm === undefined) {
|
|
33
|
+
throw new AegisError(`No algorithm for COSE label "${label}"`, {
|
|
34
|
+
code: "cose_algorithm_not_supported",
|
|
35
|
+
data: { label },
|
|
36
|
+
title: "COSE Algorithm Not Supported",
|
|
37
|
+
details: "The COSE algorithm label is not one this implementation supports.",
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
return algorithm;
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=alg-labels.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alg-labels.js","sourceRoot":"","sources":["../../../src/internal/cose/alg-labels.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAQnD,MAAM,YAAY,GAAqC;IAErD,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,CAAC,EAAE;IACV,KAAK,EAAE,CAAC,EAAE;IAEV,KAAK,EAAE,CAAC,CAAC;IAET,KAAK,EAAE,CAAC,EAAE;IACV,KAAK,EAAE,CAAC,EAAE;IACV,KAAK,EAAE,CAAC,EAAE;IAEV,KAAK,EAAE,CAAC,GAAG;IACX,KAAK,EAAE,CAAC,GAAG;IACX,KAAK,EAAE,CAAC,GAAG;IAEX,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;CACT,CAAC;AAEF,MAAM,YAAY,GAAqC,MAAM,CAAC,WAAW,CACvE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CACjE,CAAC;AAGF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,SAA2B,EAAU,EAAE;IACpE,MAAM,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAEtC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,UAAU,CAAC,gCAAgC,SAAS,GAAG,EAAE;YACjE,IAAI,EAAE,8BAA8B;YACpC,IAAI,EAAE,EAAE,SAAS,EAAE;YACnB,KAAK,EAAE,8BAA8B;YACrC,OAAO,EACL,2GAA2G;SAC9G,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAa,EAAU,EAAE;IACtD,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IAEtC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,UAAU,CAAC,gCAAgC,KAAK,GAAG,EAAE;YAC7D,IAAI,EAAE,8BAA8B;YACpC,IAAI,EAAE,EAAE,KAAK,EAAE;YACf,KAAK,EAAE,8BAA8B;YACrC,OAAO,EAAE,mEAAmE;SAC7E,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export type CborEncodeOptions = {
|
|
2
|
+
deterministic?: boolean;
|
|
3
|
+
};
|
|
4
|
+
export type CborDecodeOptions = {
|
|
5
|
+
preferMap?: boolean;
|
|
6
|
+
rejectDuplicateKeys?: boolean;
|
|
7
|
+
};
|
|
8
|
+
export declare const encodeCbor: (value: unknown, options?: CborEncodeOptions) => Buffer;
|
|
9
|
+
export declare const decodeCbor: <T = unknown>(input: Buffer | Uint8Array, options?: CborDecodeOptions) => T;
|
|
10
|
+
export { Tag } from "cbor2";
|
|
11
|
+
//# sourceMappingURL=cbor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cbor.d.ts","sourceRoot":"","sources":["../../../src/internal/cose/cbor.ts"],"names":[],"mappings":"AAqBA,MAAM,MAAM,iBAAiB,GAAG;IAM9B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAK9B,SAAS,CAAC,EAAE,OAAO,CAAC;IAKpB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAKF,eAAO,MAAM,UAAU,GAAI,OAAO,OAAO,EAAE,UAAS,iBAAsB,KAAG,MAgB5E,CAAC;AAOF,eAAO,MAAM,UAAU,GAAI,CAAC,GAAG,OAAO,EACpC,OAAO,MAAM,GAAG,UAAU,EAC1B,UAAS,iBAAsB,KAC9B,CAcF,CAAC;AAIF,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { cdeEncodeOptions, decode, defaultDecodeOptions, defaultEncodeOptions, encode, } from "cbor2";
|
|
2
|
+
import { registerEncoder, writeUint8Array } from "cbor2/encoder";
|
|
3
|
+
import { AegisError } from "../../errors/index.js";
|
|
4
|
+
registerEncoder(Buffer, (buffer, writer) => {
|
|
5
|
+
writeUint8Array(buffer, writer);
|
|
6
|
+
return undefined;
|
|
7
|
+
});
|
|
8
|
+
export const encodeCbor = (value, options = {}) => {
|
|
9
|
+
const { deterministic = true } = options;
|
|
10
|
+
try {
|
|
11
|
+
return Buffer.from(encode(value, deterministic ? cdeEncodeOptions : defaultEncodeOptions));
|
|
12
|
+
}
|
|
13
|
+
catch (error) {
|
|
14
|
+
throw new AegisError("Failed to encode value as CBOR", {
|
|
15
|
+
code: "cbor_encode_failed",
|
|
16
|
+
title: "CBOR Encode Failed",
|
|
17
|
+
details: "The value could not be encoded as CBOR; see the underlying error for the root cause.",
|
|
18
|
+
error: error,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
export const decodeCbor = (input, options = {}) => {
|
|
23
|
+
const { preferMap = true, rejectDuplicateKeys = true } = options;
|
|
24
|
+
try {
|
|
25
|
+
return decode(input, { ...defaultDecodeOptions, preferMap, rejectDuplicateKeys });
|
|
26
|
+
}
|
|
27
|
+
catch (error) {
|
|
28
|
+
throw new AegisError("Failed to decode CBOR", {
|
|
29
|
+
code: "cbor_decode_failed",
|
|
30
|
+
title: "CBOR Decode Failed",
|
|
31
|
+
details: "The input could not be decoded as CBOR; it may be malformed, truncated, or contain duplicate map keys.",
|
|
32
|
+
error: error,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
export { Tag } from "cbor2";
|
|
37
|
+
//# sourceMappingURL=cbor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cbor.js","sourceRoot":"","sources":["../../../src/internal/cose/cbor.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,MAAM,EACN,oBAAoB,EACpB,oBAAoB,EACpB,MAAM,GACP,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAQnD,eAAe,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;IACzC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC,CAAC;AA2BH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAc,EAAE,UAA6B,EAAE,EAAU,EAAE;IACpF,MAAM,EAAE,aAAa,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAEzC,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,CAChB,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,oBAAoB,CAAC,CACvE,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,UAAU,CAAC,gCAAgC,EAAE;YACrD,IAAI,EAAE,oBAAoB;YAC1B,KAAK,EAAE,oBAAoB;YAC3B,OAAO,EACL,sFAAsF;YACxF,KAAK,EAAE,KAAc;SACtB,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,KAA0B,EAC1B,UAA6B,EAAE,EAC5B,EAAE;IACL,MAAM,EAAE,SAAS,GAAG,IAAI,EAAE,mBAAmB,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAEjE,IAAI,CAAC;QACH,OAAO,MAAM,CAAI,KAAK,EAAE,EAAE,GAAG,oBAAoB,EAAE,SAAS,EAAE,mBAAmB,EAAE,CAAC,CAAC;IACvF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,UAAU,CAAC,uBAAuB,EAAE;YAC5C,IAAI,EAAE,oBAAoB;YAC1B,KAAK,EAAE,oBAAoB;YAC3B,OAAO,EACL,wGAAwG;YAC1G,KAAK,EAAE,KAAc;SACtB,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAIF,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Dict } from "@lindorm/types";
|
|
2
|
+
export type CompactSpec = {
|
|
3
|
+
labels: Readonly<Record<string, number>>;
|
|
4
|
+
nested?: Readonly<Record<string, {
|
|
5
|
+
array?: boolean;
|
|
6
|
+
spec: () => CompactSpec;
|
|
7
|
+
}>>;
|
|
8
|
+
};
|
|
9
|
+
export declare const compactEncode: (obj: Dict, spec: CompactSpec) => Map<number, unknown>;
|
|
10
|
+
export declare const compactDecode: (map: Map<number, unknown>, spec: CompactSpec) => Dict;
|
|
11
|
+
//# sourceMappingURL=compact-map.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compact-map.d.ts","sourceRoot":"","sources":["../../../src/internal/cose/compact-map.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAY3C,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,WAAW,CAAA;KAAE,CAAC,CAAC,CAAC;CACjF,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,KAAK,IAAI,EAAE,MAAM,WAAW,KAAG,GAAG,CAAC,MAAM,EAAE,OAAO,CAsB/E,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,KAAK,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,WAAW,KAAG,IA2B5E,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export const compactEncode = (obj, spec) => {
|
|
2
|
+
const map = new Map();
|
|
3
|
+
for (const [field, label] of Object.entries(spec.labels)) {
|
|
4
|
+
const value = obj[field];
|
|
5
|
+
if (value === undefined)
|
|
6
|
+
continue;
|
|
7
|
+
const nested = spec.nested?.[field];
|
|
8
|
+
if (nested) {
|
|
9
|
+
const childSpec = nested.spec();
|
|
10
|
+
map.set(label, nested.array && Array.isArray(value)
|
|
11
|
+
? value.map((item) => compactEncode(item, childSpec))
|
|
12
|
+
: compactEncode(value, childSpec));
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
map.set(label, value);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return map;
|
|
19
|
+
};
|
|
20
|
+
export const compactDecode = (map, spec) => {
|
|
21
|
+
const reverse = new Map(Object.entries(spec.labels).map(([field, label]) => [label, field]));
|
|
22
|
+
const obj = {};
|
|
23
|
+
for (const [label, value] of map) {
|
|
24
|
+
const field = reverse.get(label);
|
|
25
|
+
if (field === undefined)
|
|
26
|
+
continue;
|
|
27
|
+
const nested = spec.nested?.[field];
|
|
28
|
+
if (nested) {
|
|
29
|
+
const childSpec = nested.spec();
|
|
30
|
+
obj[field] =
|
|
31
|
+
nested.array && Array.isArray(value)
|
|
32
|
+
? value.map((item) => item instanceof Map ? compactDecode(item, childSpec) : item)
|
|
33
|
+
: value instanceof Map
|
|
34
|
+
? compactDecode(value, childSpec)
|
|
35
|
+
: value;
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
obj[field] = value;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return obj;
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=compact-map.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compact-map.js","sourceRoot":"","sources":["../../../src/internal/cose/compact-map.ts"],"names":[],"mappings":"AAiBA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAS,EAAE,IAAiB,EAAwB,EAAE;IAClF,MAAM,GAAG,GAAG,IAAI,GAAG,EAAmB,CAAC;IAEvC,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACzD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAElC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;YAChC,GAAG,CAAC,GAAG,CACL,KAAK,EACL,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAClC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAY,EAAE,SAAS,CAAC,CAAC;gBAC7D,CAAC,CAAC,aAAa,CAAC,KAAa,EAAE,SAAS,CAAC,CAC5C,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAyB,EAAE,IAAiB,EAAQ,EAAE;IAClF,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CACpE,CAAC;IAEF,MAAM,GAAG,GAAS,EAAE,CAAC;IACrB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAElC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;YAChC,GAAG,CAAC,KAAK,CAAC;gBACR,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;oBAClC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACjB,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAC5D;oBACH,CAAC,CAAC,KAAK,YAAY,GAAG;wBACpB,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC;wBACjC,CAAC,CAAC,KAAK,CAAC;QAChB,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QACrB,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { Dict } from "@lindorm/types";
|
|
2
|
+
export type CoseThumbprintHash = "sha-256" | "sha-384" | "sha-512";
|
|
3
|
+
export declare const computeCoseKeyThumbprint: (jwk: Dict, hash?: CoseThumbprintHash) => Buffer;
|
|
4
|
+
export declare const computeCoseKeyThumbprintUri: (jwk: Dict, hash?: CoseThumbprintHash) => string;
|
|
5
|
+
//# sourceMappingURL=cose-key-thumbprint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cose-key-thumbprint.d.ts","sourceRoot":"","sources":["../../../src/internal/cose/cose-key-thumbprint.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAc3C,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAwEnE,eAAO,MAAM,wBAAwB,GACnC,KAAK,IAAI,EACT,OAAM,kBAA8B,KACnC,MAA4D,CAAC;AAOhE,eAAO,MAAM,2BAA2B,GACtC,KAAK,IAAI,EACT,OAAM,kBAA8B,KACnC,MAA+E,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { B64 } from "@lindorm/b64";
|
|
2
|
+
import { ShaKit } from "@lindorm/sha";
|
|
3
|
+
import { AegisError } from "../../errors/index.js";
|
|
4
|
+
import { B64U } from "../constants/format.js";
|
|
5
|
+
import { encodeCbor } from "./cbor.js";
|
|
6
|
+
import { CRV_TO_COSE, KTY_TO_COSE } from "./cose-key.js";
|
|
7
|
+
const SHA = {
|
|
8
|
+
"sha-256": (data) => ShaKit.S256(data),
|
|
9
|
+
"sha-384": (data) => ShaKit.S384(data),
|
|
10
|
+
"sha-512": (data) => ShaKit.S512(data),
|
|
11
|
+
};
|
|
12
|
+
const bstr = (value) => B64.toBuffer(String(value), B64U);
|
|
13
|
+
const curveLabel = (jwk) => {
|
|
14
|
+
const label = CRV_TO_COSE[jwk.crv];
|
|
15
|
+
if (label === undefined) {
|
|
16
|
+
throw new AegisError(`Unsupported curve "${jwk.crv}" for COSE Key Thumbprint`, {
|
|
17
|
+
code: "cose_key_unsupported",
|
|
18
|
+
data: { crv: jwk.crv },
|
|
19
|
+
title: "Unsupported COSE Key",
|
|
20
|
+
details: "The JWK curve has no COSE label, so a COSE Key Thumbprint cannot be computed.",
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
return label;
|
|
24
|
+
};
|
|
25
|
+
const requiredCoseKey = (jwk) => {
|
|
26
|
+
const map = new Map();
|
|
27
|
+
switch (jwk.kty) {
|
|
28
|
+
case "EC":
|
|
29
|
+
map.set(1, KTY_TO_COSE.EC);
|
|
30
|
+
map.set(-1, curveLabel(jwk));
|
|
31
|
+
map.set(-2, bstr(jwk.x));
|
|
32
|
+
map.set(-3, bstr(jwk.y));
|
|
33
|
+
return map;
|
|
34
|
+
case "OKP":
|
|
35
|
+
map.set(1, KTY_TO_COSE.OKP);
|
|
36
|
+
map.set(-1, curveLabel(jwk));
|
|
37
|
+
map.set(-2, bstr(jwk.x));
|
|
38
|
+
return map;
|
|
39
|
+
case "RSA":
|
|
40
|
+
map.set(1, KTY_TO_COSE.RSA);
|
|
41
|
+
map.set(-1, bstr(jwk.n));
|
|
42
|
+
map.set(-2, bstr(jwk.e));
|
|
43
|
+
return map;
|
|
44
|
+
case "oct":
|
|
45
|
+
map.set(1, KTY_TO_COSE.oct);
|
|
46
|
+
map.set(-1, bstr(jwk.k));
|
|
47
|
+
return map;
|
|
48
|
+
default:
|
|
49
|
+
throw new AegisError(`Cannot compute COSE Key Thumbprint: unsupported kty "${String(jwk.kty)}"`, {
|
|
50
|
+
code: "cose_key_unsupported",
|
|
51
|
+
data: { kty: jwk.kty },
|
|
52
|
+
title: "Unsupported COSE Key",
|
|
53
|
+
details: "A COSE Key Thumbprint (RFC 9679) is defined for kty EC, OKP, RSA, and oct keys; this kty is not one of them.",
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
const thumbprintCbor = (jwk) => Buffer.from(encodeCbor(requiredCoseKey(jwk)));
|
|
58
|
+
export const computeCoseKeyThumbprint = (jwk, hash = "sha-256") => B64.toBuffer(SHA[hash](thumbprintCbor(jwk)), B64U);
|
|
59
|
+
export const computeCoseKeyThumbprintUri = (jwk, hash = "sha-256") => `urn:ietf:params:oauth:ckt:${hash}:${SHA[hash](thumbprintCbor(jwk))}`;
|
|
60
|
+
//# sourceMappingURL=cose-key-thumbprint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cose-key-thumbprint.js","sourceRoot":"","sources":["../../../src/internal/cose/cose-key-thumbprint.ts"],"names":[],"mappings":"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"}
|