@toa.io/extensions.exposition 1.0.0-alpha.18 → 1.0.0-alpha.181
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/components/context.toa.yaml +2 -2
- package/components/identity.bans/operations/tsconfig.tsbuildinfo +1 -1
- package/components/identity.basic/manifest.toa.yaml +48 -11
- package/components/identity.basic/operations/authenticate.d.ts +5 -1
- package/components/identity.basic/operations/authenticate.js +7 -4
- package/components/identity.basic/operations/authenticate.js.map +1 -1
- package/components/identity.basic/operations/check.d.ts +7 -0
- package/components/identity.basic/operations/check.js +15 -0
- package/components/identity.basic/operations/check.js.map +1 -0
- package/components/identity.basic/operations/incept.d.ts +12 -0
- package/components/identity.basic/operations/incept.js +26 -0
- package/components/identity.basic/operations/incept.js.map +1 -0
- package/components/identity.basic/operations/transit.d.ts +4 -4
- package/components/identity.basic/operations/transit.js +8 -6
- package/components/identity.basic/operations/transit.js.map +1 -1
- package/components/identity.basic/operations/tsconfig.tsbuildinfo +1 -1
- package/components/identity.basic/operations/types.d.ts +8 -4
- package/components/identity.basic/source/authenticate.ts +18 -7
- package/components/identity.basic/source/check.ts +20 -0
- package/components/identity.basic/source/incept.ts +38 -0
- package/components/identity.basic/source/transit.ts +11 -9
- package/components/identity.basic/source/types.ts +8 -4
- package/components/identity.federation/manifest.toa.yaml +80 -38
- package/components/identity.federation/operations/authenticate.d.ts +16 -3
- package/components/identity.federation/operations/authenticate.js +25 -15
- package/components/identity.federation/operations/authenticate.js.map +1 -1
- package/components/identity.federation/operations/decode.d.ts +3 -0
- package/components/identity.federation/operations/decode.js +12 -0
- package/components/identity.federation/operations/decode.js.map +1 -0
- package/components/identity.federation/operations/incept.d.ts +11 -0
- package/components/identity.federation/operations/incept.js +23 -0
- package/components/identity.federation/operations/incept.js.map +1 -0
- package/components/identity.federation/operations/lib/Configuration.d.ts +39 -0
- package/components/identity.federation/operations/lib/Configuration.js +3 -0
- package/components/identity.federation/operations/lib/Configuration.js.map +1 -0
- package/components/identity.federation/operations/lib/Ctx.d.ts +6 -0
- package/{transpiled/directives/vary/embeddings/Embedding.js → components/identity.federation/operations/lib/Ctx.js} +1 -1
- package/components/identity.federation/operations/lib/Ctx.js.map +1 -0
- package/components/identity.federation/operations/lib/Payload.d.ts +5 -0
- package/components/identity.federation/operations/lib/Payload.js +3 -0
- package/components/identity.federation/operations/lib/Payload.js.map +1 -0
- package/components/identity.federation/operations/lib/decode.d.ts +3 -0
- package/components/identity.federation/operations/lib/{assertions-as-values.js → decode.js} +19 -19
- package/components/identity.federation/operations/lib/decode.js.map +1 -0
- package/components/identity.federation/operations/lib/discovery.d.ts +4 -0
- package/components/identity.federation/operations/lib/discovery.js +49 -0
- package/components/identity.federation/operations/lib/discovery.js.map +1 -0
- package/components/identity.federation/operations/lib/errors.d.ts +11 -0
- package/components/identity.federation/operations/lib/errors.js +15 -0
- package/components/identity.federation/operations/lib/errors.js.map +1 -0
- package/components/identity.federation/operations/lib/exchange.d.ts +3 -0
- package/components/identity.federation/operations/lib/exchange.js +107 -0
- package/components/identity.federation/operations/lib/exchange.js.map +1 -0
- package/components/identity.federation/operations/lib/index.d.ts +3 -0
- package/components/identity.federation/operations/lib/index.js +8 -0
- package/components/identity.federation/operations/lib/index.js.map +1 -0
- package/components/identity.federation/operations/tsconfig.tsbuildinfo +1 -1
- package/components/identity.federation/operations/types/Scheme.d.ts +1 -0
- package/components/identity.federation/operations/types/Scheme.js +3 -0
- package/components/identity.federation/operations/types/Scheme.js.map +1 -0
- package/components/identity.federation/operations/types/configuration.d.ts +20 -0
- package/components/identity.federation/operations/types/configuration.js +3 -0
- package/components/identity.federation/operations/types/configuration.js.map +1 -0
- package/components/identity.federation/operations/types/context.d.ts +36 -0
- package/components/identity.federation/operations/types/context.js +3 -0
- package/components/identity.federation/operations/types/context.js.map +1 -0
- package/components/identity.federation/operations/types/entity.d.ts +6 -0
- package/components/identity.federation/operations/types/entity.js +3 -0
- package/components/identity.federation/operations/types/entity.js.map +1 -0
- package/components/identity.federation/operations/types/index.d.ts +4 -0
- package/components/identity.federation/operations/types/index.js +21 -0
- package/components/identity.federation/operations/types/index.js.map +1 -0
- package/components/identity.federation/source/authenticate.ts +44 -19
- package/components/identity.federation/source/decode.ts +10 -0
- package/components/identity.federation/source/incept.ts +37 -0
- package/components/identity.federation/source/lib/Configuration.ts +39 -0
- package/components/identity.federation/source/lib/Ctx.ts +7 -0
- package/components/identity.federation/source/lib/Payload.ts +6 -0
- package/components/identity.federation/source/lib/decode.ts +28 -0
- package/components/identity.federation/source/lib/discovery.ts +30 -0
- package/components/identity.federation/source/lib/errors.ts +12 -0
- package/components/identity.federation/source/lib/exchange.ts +116 -0
- package/components/identity.federation/source/lib/index.ts +3 -0
- package/components/identity.federation/source/types/Scheme.ts +1 -0
- package/components/identity.federation/source/types/configuration.ts +21 -0
- package/components/identity.federation/source/types/context.ts +40 -0
- package/components/identity.federation/source/types/entity.ts +6 -0
- package/components/identity.federation/source/types/index.ts +4 -0
- package/components/identity.federation/tsconfig.json +5 -4
- package/components/identity.keys/manifest.toa.yaml +57 -0
- package/components/identity.keys/operations/create.d.ts +22 -0
- package/components/identity.keys/operations/create.js +16 -0
- package/components/identity.keys/operations/create.js.map +1 -0
- package/components/identity.keys/operations/tsconfig.tsbuildinfo +1 -0
- package/components/identity.keys/source/create.ts +35 -0
- package/components/identity.keys/tsconfig.json +9 -0
- package/components/identity.otp/manifest.toa.yaml +39 -0
- package/components/identity.otp/operations/authenticate.d.ts +12 -0
- package/components/identity.otp/operations/authenticate.js +30 -0
- package/components/identity.otp/operations/authenticate.js.map +1 -0
- package/components/identity.otp/operations/issue.d.ts +10 -0
- package/components/identity.otp/operations/issue.js +13 -0
- package/components/identity.otp/operations/issue.js.map +1 -0
- package/components/identity.otp/operations/lib/Context.d.ts +13 -0
- package/components/identity.otp/operations/lib/Context.js +3 -0
- package/components/identity.otp/operations/lib/Context.js.map +1 -0
- package/components/identity.otp/operations/lib/Entity.d.ts +5 -0
- package/components/identity.otp/operations/lib/Entity.js +3 -0
- package/components/identity.otp/operations/lib/Entity.js.map +1 -0
- package/components/identity.otp/operations/lib/index.d.ts +1 -0
- package/components/identity.otp/operations/lib/index.js +3 -0
- package/components/identity.otp/operations/lib/index.js.map +1 -0
- package/components/identity.otp/operations/tsconfig.tsbuildinfo +1 -0
- package/components/identity.otp/source/authenticate.ts +46 -0
- package/components/identity.otp/source/issue.ts +22 -0
- package/components/identity.otp/source/lib/Context.ts +14 -0
- package/components/identity.otp/source/lib/Entity.ts +5 -0
- package/components/identity.otp/source/lib/index.ts +1 -0
- package/components/identity.otp/tsconfig.json +9 -0
- package/components/identity.passkeys/manifest.toa.yaml +268 -0
- package/components/identity.passkeys/operations/authenticate.d.ts +16 -0
- package/components/identity.passkeys/operations/authenticate.js +34 -0
- package/components/identity.passkeys/operations/authenticate.js.map +1 -0
- package/components/identity.passkeys/operations/challenge.d.ts +35 -0
- package/components/identity.passkeys/operations/challenge.js +73 -0
- package/components/identity.passkeys/operations/challenge.js.map +1 -0
- package/components/identity.passkeys/operations/create.d.ts +19 -0
- package/components/identity.passkeys/operations/create.js +58 -0
- package/components/identity.passkeys/operations/create.js.map +1 -0
- package/components/identity.passkeys/operations/delete.d.ts +8 -0
- package/components/identity.passkeys/operations/delete.js +12 -0
- package/components/identity.passkeys/operations/delete.js.map +1 -0
- package/components/identity.passkeys/operations/lib/const.d.ts +1 -0
- package/components/identity.passkeys/operations/lib/const.js +5 -0
- package/components/identity.passkeys/operations/lib/const.js.map +1 -0
- package/components/identity.passkeys/operations/list.d.ts +7 -0
- package/components/identity.passkeys/operations/list.js +15 -0
- package/components/identity.passkeys/operations/list.js.map +1 -0
- package/components/identity.passkeys/operations/tsconfig.tsbuildinfo +1 -0
- package/components/identity.passkeys/operations/types/Configuration.d.ts +6 -0
- package/components/identity.passkeys/operations/types/Configuration.js +3 -0
- package/components/identity.passkeys/operations/types/Configuration.js.map +1 -0
- package/components/identity.passkeys/operations/types/Context.d.ts +15 -0
- package/components/identity.passkeys/operations/types/Context.js +3 -0
- package/components/identity.passkeys/operations/types/Context.js.map +1 -0
- package/components/identity.passkeys/operations/types/Passkey.d.ts +13 -0
- package/components/identity.passkeys/operations/types/Passkey.js +3 -0
- package/components/identity.passkeys/operations/types/Passkey.js.map +1 -0
- package/components/identity.passkeys/operations/types/index.d.ts +2 -0
- package/components/identity.passkeys/operations/types/index.js +3 -0
- package/components/identity.passkeys/operations/types/index.js.map +1 -0
- package/components/identity.passkeys/operations/use.d.ts +16 -0
- package/components/identity.passkeys/operations/use.js +57 -0
- package/components/identity.passkeys/operations/use.js.map +1 -0
- package/components/identity.passkeys/source/authenticate.ts +48 -0
- package/components/identity.passkeys/source/challenge.ts +115 -0
- package/components/identity.passkeys/source/create.ts +77 -0
- package/components/identity.passkeys/source/delete.ts +15 -0
- package/components/identity.passkeys/source/lib/const.ts +1 -0
- package/components/identity.passkeys/source/list.ts +17 -0
- package/components/identity.passkeys/source/types/Configuration.ts +6 -0
- package/components/identity.passkeys/source/types/Context.ts +16 -0
- package/components/identity.passkeys/source/types/Passkey.ts +14 -0
- package/components/identity.passkeys/source/types/index.ts +2 -0
- package/components/identity.passkeys/source/use.ts +75 -0
- package/components/identity.passkeys/tsconfig.json +9 -0
- package/components/identity.roles/manifest.toa.yaml +4 -2
- package/components/identity.roles/operations/grant.js +2 -2
- package/components/identity.roles/operations/grant.js.map +1 -1
- package/components/identity.roles/operations/tsconfig.tsbuildinfo +1 -1
- package/components/identity.roles/source/grant.ts +2 -2
- package/components/identity.tokens/manifest.toa.yaml +95 -12
- package/components/identity.tokens/operations/authenticate.d.ts +3 -3
- package/components/identity.tokens/operations/authenticate.js +15 -11
- package/components/identity.tokens/operations/authenticate.js.map +1 -1
- package/components/identity.tokens/operations/decrypt.d.ts +13 -3
- package/components/identity.tokens/operations/decrypt.js +65 -17
- package/components/identity.tokens/operations/decrypt.js.map +1 -1
- package/components/identity.tokens/operations/encrypt.d.ts +3 -3
- package/components/identity.tokens/operations/encrypt.js +24 -7
- package/components/identity.tokens/operations/encrypt.js.map +1 -1
- package/components/identity.tokens/operations/issue.d.ts +24 -0
- package/components/identity.tokens/operations/issue.js +59 -0
- package/components/identity.tokens/operations/issue.js.map +1 -0
- package/components/identity.tokens/operations/lib/index.d.ts +2 -0
- package/components/identity.tokens/operations/lib/index.js +19 -0
- package/components/identity.tokens/operations/lib/index.js.map +1 -0
- package/components/identity.tokens/operations/lib/pad.d.ts +1 -0
- package/components/identity.tokens/operations/lib/pad.js +5 -0
- package/components/identity.tokens/operations/lib/pad.js.map +1 -0
- package/components/identity.tokens/operations/lib/types.d.ts +75 -0
- package/components/identity.tokens/operations/lib/types.js.map +1 -0
- package/components/identity.tokens/operations/revoke.d.ts +2 -2
- package/components/identity.tokens/operations/revoke.js.map +1 -1
- package/components/identity.tokens/operations/tsconfig.tsbuildinfo +1 -1
- package/components/identity.tokens/source/authenticate.test.ts +22 -9
- package/components/identity.tokens/source/authenticate.ts +18 -13
- package/components/identity.tokens/source/decrypt.test.ts +33 -18
- package/components/identity.tokens/source/decrypt.ts +95 -20
- package/components/identity.tokens/source/encrypt.test.ts +51 -13
- package/components/identity.tokens/source/encrypt.ts +36 -11
- package/components/identity.tokens/source/issue.ts +82 -0
- package/components/identity.tokens/source/lib/index.ts +2 -0
- package/components/identity.tokens/source/lib/pad.ts +1 -0
- package/components/identity.tokens/source/lib/paseto.test.ts +16 -0
- package/components/identity.tokens/source/lib/types.ts +86 -0
- package/components/identity.tokens/source/revoke.ts +2 -2
- package/components/octets.storage/manifest.toa.yaml +13 -11
- package/components/octets.storage/operations/get.js +3 -3
- package/components/octets.storage/operations/head.js +7 -0
- package/components/octets.storage/operations/put.js +135 -0
- package/documentation/access.md +78 -27
- package/documentation/authorities.md +48 -0
- package/documentation/components.md +109 -42
- package/documentation/dev.md +30 -0
- package/documentation/flow.md +44 -0
- package/documentation/identity.md +129 -24
- package/documentation/introspection.md +82 -0
- package/documentation/io.md +42 -2
- package/documentation/map.md +96 -0
- package/documentation/notes/desync.jpg +0 -0
- package/documentation/notes/peers.md +59 -0
- package/documentation/notes/throttling.md +82 -0
- package/documentation/octets.md +122 -69
- package/documentation/passkeys.md +4 -0
- package/documentation/protocol.md +11 -4
- package/documentation/query.md +51 -4
- package/documentation/require.md +15 -0
- package/documentation/tree.md +13 -0
- package/features/access.feature +122 -9
- package/features/annotation.feature +1 -0
- package/features/auth.assert.feature +57 -0
- package/features/auth.claims.feature +170 -0
- package/features/auth.incept.feature +120 -0
- package/features/auth.input.feature +59 -0
- package/features/auth.issue.feature +32 -0
- package/features/authorities.basic.feature +141 -0
- package/features/authorities.feature +32 -0
- package/features/authorities.federation.feature +99 -0
- package/features/authorities.tokens.feature +117 -0
- package/features/body.feature +2 -0
- package/features/cache.feature +131 -8
- package/features/cors.feature +32 -7
- package/features/debug.feature +34 -0
- package/features/dev.feature +56 -0
- package/features/directives.feature +3 -0
- package/features/dynamic.feature +48 -0
- package/features/errors.feature +29 -6
- package/features/etag.feature +140 -1
- package/features/flow.feature +148 -0
- package/features/identity.bans.feature +12 -3
- package/features/identity.basic.feature +104 -21
- package/features/identity.feature +18 -6
- package/features/identity.federation.feature +134 -44
- package/features/identity.otp.feature +71 -0
- package/features/identity.roles.feature +81 -20
- package/features/identity.tokens.feature +11 -97
- package/features/identtiy.tokens.custom.feature +247 -0
- package/features/interruptions.feature +19 -0
- package/features/introspection.feature +153 -0
- package/features/io.feature +9 -1
- package/features/io.throttle.feature +40 -0
- package/features/map.feature +328 -0
- package/features/methods.feature +47 -0
- package/features/octets.cloudinary.feature +186 -0
- package/features/octets.download.feature +189 -0
- package/features/octets.entries.feature +13 -55
- package/features/octets.feature +70 -114
- package/features/octets.head.feature +40 -0
- package/features/octets.location.feature +83 -0
- package/features/octets.meta.feature +65 -15
- package/features/octets.workflows.feature +344 -66
- package/features/passkeys.feature +66 -0
- package/features/probes.feature +14 -0
- package/features/{queries.feature → query.feature} +142 -2
- package/features/realtime.feature +34 -0
- package/features/require.feature +67 -0
- package/features/response.feature +34 -2
- package/features/routes.feature +93 -2
- package/features/server.feature +21 -0
- package/features/steps/.env.example +5 -0
- package/features/steps/Common.ts +4 -0
- package/features/steps/Gateway.ts +26 -7
- package/features/steps/HTTP.ts +26 -3
- package/features/steps/IDP.ts +334 -0
- package/features/steps/Identity.ts +51 -0
- package/features/steps/OTP.ts +39 -0
- package/features/steps/Parameters.ts +77 -2
- package/features/steps/Realtime.ts +151 -0
- package/features/steps/components/echo/manifest.toa.yaml +12 -0
- package/features/steps/components/echo/operations/echo.js +7 -0
- package/features/steps/components/echo/operations/parameters.js +7 -0
- package/features/steps/components/echo/operations/ping.js +7 -0
- package/features/steps/components/echo.beacon/manifest.toa.yaml +2 -0
- package/features/steps/components/echo.beacon/operations/hello.js +5 -0
- package/features/steps/components/greeter/manifest.toa.yaml +0 -1
- package/features/steps/components/octets.tester/manifest.toa.yaml +26 -3
- package/features/steps/components/octets.tester/operations/authority.js +7 -0
- package/features/steps/components/octets.tester/operations/bar.js +0 -1
- package/features/steps/components/octets.tester/operations/baz.js +1 -1
- package/features/steps/components/octets.tester/operations/echo.js +1 -1
- package/features/steps/components/octets.tester/operations/foo.js +2 -2
- package/features/steps/components/octets.tester/operations/id.js +7 -0
- package/features/steps/components/octets.tester/operations/identity.js +7 -0
- package/features/steps/components/octets.tester/operations/redirect.js +12 -0
- package/features/steps/components/octets.tester/operations/yex.js +16 -0
- package/features/steps/components/octets.tester/operations/yield.js +13 -0
- package/features/steps/components/pots/manifest.toa.yaml +15 -4
- package/features/steps/components/sequences/manifest.toa.yaml +0 -1
- package/features/steps/components/users/manifest.toa.yaml +4 -2
- package/features/steps/components/users/operations/create.js +15 -0
- package/features/steps/components/users.properties/manifest.toa.yaml +0 -1
- package/features/streams.feature +5 -0
- package/features/timestamps.feature +41 -0
- package/features/timing.feature +4 -1
- package/package.json +29 -17
- package/readme.md +19 -14
- package/schemas/annotation.cos.yaml +8 -1
- package/schemas/io/throttle.cos.yaml +36 -0
- package/schemas/method.cos.yaml +2 -1
- package/schemas/node.cos.yaml +2 -0
- package/schemas/octets/put.cos.yaml +28 -0
- package/schemas/query.cos.yaml +6 -10
- package/schemas/querystring.cos.yaml +1 -0
- package/source/Annotation.ts +6 -3
- package/source/Branch.ts +1 -0
- package/source/Composition.ts +0 -6
- package/source/Context.ts +1 -0
- package/source/Directive.test.ts +5 -3
- package/source/Directive.ts +30 -6
- package/source/Endpoint.ts +89 -24
- package/source/Factory.ts +22 -13
- package/source/Gateway.ts +75 -19
- package/source/HTTP/Context.ts +32 -7
- package/source/HTTP/Server.ts +153 -56
- package/source/HTTP/exceptions.ts +25 -7
- package/source/HTTP/formats/index.ts +3 -4
- package/source/HTTP/formats/json.ts +0 -2
- package/source/HTTP/formats/msgpack.ts +0 -1
- package/source/HTTP/formats/text.ts +0 -2
- package/source/HTTP/formats/yaml.ts +0 -1
- package/source/HTTP/messages.test.ts +46 -2
- package/source/HTTP/messages.ts +94 -9
- package/source/Introspection.ts +11 -0
- package/source/Mapping.ts +69 -21
- package/source/Query.test.ts +3 -3
- package/source/Query.ts +131 -33
- package/source/RTD/Context.ts +1 -1
- package/source/RTD/Directives.ts +4 -0
- package/source/RTD/Endpoint.ts +3 -0
- package/source/RTD/Method.ts +16 -0
- package/source/RTD/Node.ts +29 -13
- package/source/RTD/Route.ts +12 -5
- package/source/RTD/Tree.ts +6 -2
- package/source/RTD/factory.ts +4 -1
- package/source/RTD/segment.ts +2 -0
- package/source/RTD/syntax/parse.test.ts +1 -1
- package/source/RTD/syntax/parse.ts +37 -24
- package/source/RTD/syntax/types.ts +8 -4
- package/source/Remotes.ts +7 -6
- package/source/Tenant.ts +6 -12
- package/source/deployment.ts +34 -24
- package/source/directives/auth/Anonymous.ts +3 -3
- package/source/directives/auth/Anyone.ts +13 -0
- package/source/directives/auth/Assert.ts +35 -0
- package/source/directives/auth/Authorization.ts +69 -26
- package/source/directives/auth/Delegate.ts +9 -5
- package/source/directives/auth/Echo.ts +16 -6
- package/source/directives/auth/Federation.ts +84 -0
- package/source/directives/auth/Id.ts +1 -1
- package/source/directives/auth/Incept.ts +68 -24
- package/source/directives/auth/Input.ts +72 -0
- package/source/directives/auth/Role.test.ts +1 -1
- package/source/directives/auth/Role.ts +5 -9
- package/source/directives/auth/Rule.ts +3 -5
- package/source/directives/auth/Scheme.ts +5 -5
- package/source/directives/auth/create.ts +11 -0
- package/source/directives/auth/schemes.ts +5 -2
- package/source/directives/auth/split.ts +1 -1
- package/source/directives/auth/types.ts +12 -7
- package/source/directives/cache/Cache.ts +15 -6
- package/source/directives/cache/Control.ts +16 -16
- package/source/directives/cors/CORS.ts +9 -9
- package/source/directives/dev/Development.ts +12 -7
- package/source/directives/dev/Sleep.ts +40 -0
- package/source/directives/dev/types.ts +1 -1
- package/source/directives/flow/Compose.ts +92 -0
- package/source/directives/flow/Fetch.ts +86 -0
- package/source/directives/flow/Flow.ts +42 -0
- package/source/directives/flow/index.ts +3 -0
- package/source/directives/flow/types.ts +7 -0
- package/source/directives/index.ts +4 -2
- package/source/directives/io/Directive.ts +5 -2
- package/source/directives/io/IO.ts +18 -6
- package/source/directives/io/Input.ts +9 -6
- package/source/directives/io/Output.ts +6 -5
- package/source/directives/io/Throttle.ts +32 -0
- package/source/directives/io/lib/throttle/Configuration.test.ts +40 -0
- package/source/directives/io/lib/throttle/Configuration.ts +58 -0
- package/source/directives/io/lib/throttle/Interval.ts +31 -0
- package/source/directives/io/lib/throttle/Keys.ts +40 -0
- package/source/directives/io/lib/throttle/Quota.ts +22 -0
- package/source/directives/io/lib/throttle/Quotas.test.ts +136 -0
- package/source/directives/io/lib/throttle/Quotas.ts +83 -0
- package/source/directives/io/lib/throttle/components/Component.ts +5 -0
- package/source/directives/io/lib/throttle/components/IP.ts +40 -0
- package/source/directives/io/lib/throttle/components/Path.ts +8 -0
- package/source/directives/io/lib/throttle/components/index.ts +13 -0
- package/source/directives/io/lib/throttle/conditions/Condition.ts +5 -0
- package/source/directives/io/lib/throttle/conditions/Status.ts +17 -0
- package/source/directives/io/lib/throttle/conditions/index.ts +11 -0
- package/source/directives/io/lib/throttle/index.ts +2 -0
- package/source/directives/io/schemas.test.ts +9 -0
- package/source/directives/io/schemas.ts +3 -0
- package/source/directives/map/Authority.ts +15 -0
- package/source/directives/map/Claims.ts +58 -0
- package/source/directives/map/Directive.ts +4 -0
- package/source/directives/map/Headers.ts +38 -0
- package/source/directives/map/Language.ts +42 -0
- package/source/directives/map/Languages.ts +11 -0
- package/source/directives/map/Map.ts +61 -0
- package/source/directives/map/Mapping.ts +19 -0
- package/source/directives/{vary → map}/Properties.ts +2 -4
- package/source/directives/map/Segments.ts +33 -0
- package/source/directives/map/index.ts +3 -0
- package/source/directives/octets/Context.ts +3 -2
- package/source/directives/octets/Delete.ts +21 -17
- package/source/directives/octets/Get.ts +96 -0
- package/source/directives/octets/Octets.ts +9 -12
- package/source/directives/octets/{Store.ts → Put.ts} +52 -38
- package/source/directives/octets/Workflow.ts +9 -3
- package/source/directives/octets/bytes.test.ts +30 -0
- package/source/directives/octets/bytes.ts +18 -0
- package/source/directives/octets/schemas.ts +4 -8
- package/source/directives/octets/types.ts +2 -0
- package/source/directives/octets/workflows/Execution.ts +62 -8
- package/source/directives/octets/workflows/Workflow.ts +18 -7
- package/source/directives/octets/workflows/index.ts +1 -1
- package/source/directives/require/Directive.ts +5 -0
- package/source/directives/require/Headers.ts +20 -0
- package/source/directives/require/Require.ts +28 -0
- package/source/directives/require/index.ts +3 -0
- package/source/exceptions.ts +2 -1
- package/source/manifest.ts +10 -11
- package/source/root.ts +16 -1
- package/source/schemas.ts +1 -1
- package/transpiled/Annotation.d.ts +5 -3
- package/transpiled/Branch.d.ts +1 -0
- package/transpiled/Composition.d.ts +0 -1
- package/transpiled/Composition.js +0 -4
- package/transpiled/Composition.js.map +1 -1
- package/transpiled/Context.d.ts +1 -0
- package/transpiled/Directive.d.ts +3 -0
- package/transpiled/Directive.js +24 -6
- package/transpiled/Directive.js.map +1 -1
- package/transpiled/Endpoint.d.ts +6 -4
- package/transpiled/Endpoint.js +64 -16
- package/transpiled/Endpoint.js.map +1 -1
- package/transpiled/Factory.d.ts +3 -2
- package/transpiled/Factory.js +18 -10
- package/transpiled/Factory.js.map +1 -1
- package/transpiled/Gateway.d.ts +3 -0
- package/transpiled/Gateway.js +56 -12
- package/transpiled/Gateway.js.map +1 -1
- package/transpiled/HTTP/Context.d.ts +10 -2
- package/transpiled/HTTP/Context.js +22 -6
- package/transpiled/HTTP/Context.js.map +1 -1
- package/transpiled/HTTP/Server.d.ts +15 -4
- package/transpiled/HTTP/Server.js +116 -45
- package/transpiled/HTTP/Server.js.map +1 -1
- package/transpiled/HTTP/exceptions.d.ts +13 -4
- package/transpiled/HTTP/exceptions.js +28 -10
- package/transpiled/HTTP/exceptions.js.map +1 -1
- package/transpiled/HTTP/formats/index.d.ts +1 -1
- package/transpiled/HTTP/formats/index.js +3 -3
- package/transpiled/HTTP/formats/index.js.map +1 -1
- package/transpiled/HTTP/formats/json.d.ts +1 -1
- package/transpiled/HTTP/formats/json.js +1 -2
- package/transpiled/HTTP/formats/json.js.map +1 -1
- package/transpiled/HTTP/formats/msgpack.d.ts +1 -1
- package/transpiled/HTTP/formats/msgpack.js.map +1 -1
- package/transpiled/HTTP/formats/text.d.ts +1 -1
- package/transpiled/HTTP/formats/text.js +1 -2
- package/transpiled/HTTP/formats/text.js.map +1 -1
- package/transpiled/HTTP/formats/yaml.d.ts +1 -1
- package/transpiled/HTTP/formats/yaml.js +1 -2
- package/transpiled/HTTP/formats/yaml.js.map +1 -1
- package/transpiled/HTTP/messages.d.ts +4 -1
- package/transpiled/HTTP/messages.js +65 -8
- package/transpiled/HTTP/messages.js.map +1 -1
- package/transpiled/Introspection.d.ts +9 -0
- package/transpiled/Introspection.js +3 -0
- package/transpiled/Introspection.js.map +1 -0
- package/transpiled/Mapping.d.ts +11 -2
- package/transpiled/Mapping.js +51 -19
- package/transpiled/Mapping.js.map +1 -1
- package/transpiled/Query.d.ts +12 -1
- package/transpiled/Query.js +93 -30
- package/transpiled/Query.js.map +1 -1
- package/transpiled/RTD/Context.d.ts +1 -1
- package/transpiled/RTD/Directives.d.ts +3 -0
- package/transpiled/RTD/Endpoint.d.ts +1 -0
- package/transpiled/RTD/Method.d.ts +4 -0
- package/transpiled/RTD/Method.js +11 -0
- package/transpiled/RTD/Method.js.map +1 -1
- package/transpiled/RTD/Node.d.ts +4 -1
- package/transpiled/RTD/Node.js +23 -12
- package/transpiled/RTD/Node.js.map +1 -1
- package/transpiled/RTD/Route.d.ts +2 -1
- package/transpiled/RTD/Route.js +7 -3
- package/transpiled/RTD/Route.js.map +1 -1
- package/transpiled/RTD/Tree.d.ts +2 -1
- package/transpiled/RTD/Tree.js +3 -0
- package/transpiled/RTD/Tree.js.map +1 -1
- package/transpiled/RTD/factory.js +4 -1
- package/transpiled/RTD/factory.js.map +1 -1
- package/transpiled/RTD/segment.d.ts +1 -0
- package/transpiled/RTD/segment.js +2 -0
- package/transpiled/RTD/segment.js.map +1 -1
- package/transpiled/RTD/syntax/parse.js +34 -22
- package/transpiled/RTD/syntax/parse.js.map +1 -1
- package/transpiled/RTD/syntax/types.d.ts +7 -3
- package/transpiled/RTD/syntax/types.js +1 -1
- package/transpiled/RTD/syntax/types.js.map +1 -1
- package/transpiled/Remotes.d.ts +4 -4
- package/transpiled/Remotes.js +6 -5
- package/transpiled/Remotes.js.map +1 -1
- package/transpiled/Tenant.d.ts +5 -4
- package/transpiled/Tenant.js +2 -7
- package/transpiled/Tenant.js.map +1 -1
- package/transpiled/deployment.d.ts +1 -1
- package/transpiled/deployment.js +29 -21
- package/transpiled/deployment.js.map +1 -1
- package/transpiled/directives/auth/Anonymous.d.ts +2 -2
- package/transpiled/directives/auth/Anonymous.js +2 -2
- package/transpiled/directives/auth/Anonymous.js.map +1 -1
- package/transpiled/directives/auth/Anyone.d.ts +6 -0
- package/transpiled/directives/auth/Anyone.js +14 -0
- package/transpiled/directives/auth/Anyone.js.map +1 -0
- package/transpiled/directives/auth/Assert.d.ts +7 -0
- package/transpiled/directives/auth/Assert.js +57 -0
- package/transpiled/directives/auth/Assert.js.map +1 -0
- package/transpiled/directives/auth/Authorization.d.ts +4 -3
- package/transpiled/directives/auth/Authorization.js +53 -23
- package/transpiled/directives/auth/Authorization.js.map +1 -1
- package/transpiled/directives/auth/Delegate.d.ts +5 -4
- package/transpiled/directives/auth/Delegate.js +7 -3
- package/transpiled/directives/auth/Delegate.js.map +1 -1
- package/transpiled/directives/auth/Echo.d.ts +4 -4
- package/transpiled/directives/auth/Echo.js +11 -4
- package/transpiled/directives/auth/Echo.js.map +1 -1
- package/transpiled/directives/auth/Federation.d.ts +16 -0
- package/transpiled/directives/auth/Federation.js +57 -0
- package/transpiled/directives/auth/Federation.js.map +1 -0
- package/transpiled/directives/auth/Id.d.ts +1 -1
- package/transpiled/directives/auth/Id.js.map +1 -1
- package/transpiled/directives/auth/Incept.d.ts +7 -5
- package/transpiled/directives/auth/Incept.js +52 -18
- package/transpiled/directives/auth/Incept.js.map +1 -1
- package/transpiled/directives/auth/Input.d.ts +13 -0
- package/transpiled/directives/auth/Input.js +49 -0
- package/transpiled/directives/auth/Input.js.map +1 -0
- package/transpiled/directives/auth/Role.d.ts +1 -1
- package/transpiled/directives/auth/Role.js +4 -6
- package/transpiled/directives/auth/Role.js.map +1 -1
- package/transpiled/directives/auth/Rule.d.ts +2 -4
- package/transpiled/directives/auth/Rule.js +2 -2
- package/transpiled/directives/auth/Rule.js.map +1 -1
- package/transpiled/directives/auth/Scheme.d.ts +2 -2
- package/transpiled/directives/auth/Scheme.js +4 -4
- package/transpiled/directives/auth/Scheme.js.map +1 -1
- package/transpiled/directives/auth/create.d.ts +2 -0
- package/transpiled/directives/auth/create.js +14 -0
- package/transpiled/directives/auth/create.js.map +1 -0
- package/transpiled/directives/auth/schemes.d.ts +2 -1
- package/transpiled/directives/auth/schemes.js +5 -2
- package/transpiled/directives/auth/schemes.js.map +1 -1
- package/transpiled/directives/auth/split.js +1 -1
- package/transpiled/directives/auth/split.js.map +1 -1
- package/transpiled/directives/auth/types.d.ts +10 -7
- package/transpiled/directives/cache/Cache.d.ts +3 -3
- package/transpiled/directives/cache/Cache.js +12 -4
- package/transpiled/directives/cache/Cache.js.map +1 -1
- package/transpiled/directives/cache/Control.d.ts +2 -2
- package/transpiled/directives/cache/Control.js +12 -12
- package/transpiled/directives/cache/Control.js.map +1 -1
- package/transpiled/directives/cors/CORS.js +7 -7
- package/transpiled/directives/cors/CORS.js.map +1 -1
- package/transpiled/directives/dev/Development.d.ts +1 -1
- package/transpiled/directives/dev/Development.js +13 -7
- package/transpiled/directives/dev/Development.js.map +1 -1
- package/transpiled/directives/dev/Sleep.d.ts +8 -0
- package/transpiled/directives/dev/Sleep.js +36 -0
- package/transpiled/directives/dev/Sleep.js.map +1 -0
- package/transpiled/directives/dev/types.d.ts +1 -1
- package/transpiled/directives/flow/Compose.d.ts +9 -0
- package/transpiled/directives/flow/Compose.js +94 -0
- package/transpiled/directives/flow/Compose.js.map +1 -0
- package/transpiled/directives/flow/Fetch.d.ts +12 -0
- package/transpiled/directives/flow/Fetch.js +58 -0
- package/transpiled/directives/flow/Fetch.js.map +1 -0
- package/transpiled/directives/flow/Flow.d.ts +10 -0
- package/transpiled/directives/flow/Flow.js +33 -0
- package/transpiled/directives/flow/Flow.js.map +1 -0
- package/transpiled/directives/flow/index.d.ts +2 -0
- package/transpiled/directives/flow/index.js +6 -0
- package/transpiled/directives/flow/index.js.map +1 -0
- package/transpiled/directives/flow/types.d.ts +6 -0
- package/transpiled/directives/flow/types.js.map +1 -0
- package/transpiled/directives/index.js +4 -2
- package/transpiled/directives/index.js.map +1 -1
- package/transpiled/directives/io/Directive.d.ts +5 -2
- package/transpiled/directives/io/IO.d.ts +4 -2
- package/transpiled/directives/io/IO.js +14 -4
- package/transpiled/directives/io/IO.js.map +1 -1
- package/transpiled/directives/io/Input.d.ts +1 -1
- package/transpiled/directives/io/Input.js +5 -3
- package/transpiled/directives/io/Input.js.map +1 -1
- package/transpiled/directives/io/Output.d.ts +1 -1
- package/transpiled/directives/io/Output.js +3 -3
- package/transpiled/directives/io/Output.js.map +1 -1
- package/transpiled/directives/io/Throttle.d.ts +11 -0
- package/transpiled/directives/{octets/Permute.js → io/Throttle.js} +21 -28
- package/transpiled/directives/io/Throttle.js.map +1 -0
- package/transpiled/directives/io/lib/throttle/Configuration.d.ts +23 -0
- package/transpiled/directives/io/lib/throttle/Configuration.js +27 -0
- package/transpiled/directives/io/lib/throttle/Configuration.js.map +1 -0
- package/transpiled/directives/io/lib/throttle/Interval.d.ts +9 -0
- package/transpiled/directives/io/lib/throttle/Interval.js +31 -0
- package/transpiled/directives/io/lib/throttle/Interval.js.map +1 -0
- package/transpiled/directives/io/lib/throttle/Keys.d.ts +12 -0
- package/transpiled/directives/io/lib/throttle/Keys.js +34 -0
- package/transpiled/directives/io/lib/throttle/Keys.js.map +1 -0
- package/transpiled/directives/io/lib/throttle/Quota.d.ts +8 -0
- package/transpiled/directives/io/lib/throttle/Quota.js +22 -0
- package/transpiled/directives/io/lib/throttle/Quota.js.map +1 -0
- package/transpiled/directives/io/lib/throttle/Quotas.d.ts +26 -0
- package/transpiled/directives/io/lib/throttle/Quotas.js +61 -0
- package/transpiled/directives/io/lib/throttle/Quotas.js.map +1 -0
- package/transpiled/directives/io/lib/throttle/components/Component.d.ts +4 -0
- package/transpiled/directives/io/lib/throttle/components/Component.js +3 -0
- package/transpiled/directives/io/lib/throttle/components/Component.js.map +1 -0
- package/transpiled/directives/io/lib/throttle/components/IP.d.ts +6 -0
- package/transpiled/directives/io/lib/throttle/components/IP.js +33 -0
- package/transpiled/directives/io/lib/throttle/components/IP.js.map +1 -0
- package/transpiled/directives/io/lib/throttle/components/Path.d.ts +5 -0
- package/transpiled/directives/io/lib/throttle/components/Path.js +10 -0
- package/transpiled/directives/io/lib/throttle/components/Path.js.map +1 -0
- package/transpiled/directives/io/lib/throttle/components/index.d.ts +5 -0
- package/transpiled/directives/io/lib/throttle/components/index.js +10 -0
- package/transpiled/directives/io/lib/throttle/components/index.js.map +1 -0
- package/transpiled/directives/io/lib/throttle/conditions/Condition.d.ts +4 -0
- package/transpiled/directives/io/lib/throttle/conditions/Condition.js +3 -0
- package/transpiled/directives/io/lib/throttle/conditions/Condition.js.map +1 -0
- package/transpiled/directives/io/lib/throttle/conditions/Status.d.ts +7 -0
- package/transpiled/directives/io/lib/throttle/conditions/Status.js +19 -0
- package/transpiled/directives/io/lib/throttle/conditions/Status.js.map +1 -0
- package/transpiled/directives/io/lib/throttle/conditions/index.d.ts +5 -0
- package/transpiled/directives/io/lib/throttle/conditions/index.js +8 -0
- package/transpiled/directives/io/lib/throttle/conditions/index.js.map +1 -0
- package/transpiled/directives/io/lib/throttle/index.d.ts +2 -0
- package/transpiled/directives/io/lib/throttle/index.js +8 -0
- package/transpiled/directives/io/lib/throttle/index.js.map +1 -0
- package/transpiled/directives/io/schemas.d.ts +2 -0
- package/transpiled/directives/io/schemas.js +2 -1
- package/transpiled/directives/io/schemas.js.map +1 -1
- package/transpiled/directives/map/Authority.d.ts +6 -0
- package/transpiled/directives/map/Authority.js +19 -0
- package/transpiled/directives/map/Authority.js.map +1 -0
- package/transpiled/directives/map/Claims.d.ts +10 -0
- package/transpiled/directives/map/Claims.js +44 -0
- package/transpiled/directives/map/Claims.js.map +1 -0
- package/transpiled/directives/map/Directive.d.ts +3 -0
- package/transpiled/directives/map/Directive.js.map +1 -0
- package/transpiled/directives/map/Headers.d.ts +7 -0
- package/transpiled/directives/map/Headers.js +34 -0
- package/transpiled/directives/map/Headers.js.map +1 -0
- package/transpiled/directives/map/Language.d.ts +10 -0
- package/transpiled/directives/map/Language.js +38 -0
- package/transpiled/directives/map/Language.js.map +1 -0
- package/transpiled/directives/map/Languages.d.ts +4 -0
- package/transpiled/directives/map/Languages.js +17 -0
- package/transpiled/directives/map/Languages.js.map +1 -0
- package/transpiled/directives/map/Map.d.ts +13 -0
- package/transpiled/directives/map/Map.js +46 -0
- package/transpiled/directives/map/Map.js.map +1 -0
- package/transpiled/directives/map/Mapping.d.ts +13 -0
- package/transpiled/directives/map/Mapping.js +13 -0
- package/transpiled/directives/map/Mapping.js.map +1 -0
- package/transpiled/directives/{vary → map}/Properties.d.ts +2 -2
- package/transpiled/directives/{vary → map}/Properties.js +1 -3
- package/transpiled/directives/map/Properties.js.map +1 -0
- package/transpiled/directives/map/Segments.d.ts +6 -0
- package/transpiled/directives/map/Segments.js +30 -0
- package/transpiled/directives/map/Segments.js.map +1 -0
- package/transpiled/directives/map/index.d.ts +2 -0
- package/transpiled/directives/map/index.js +6 -0
- package/transpiled/directives/map/index.js.map +1 -0
- package/transpiled/directives/octets/Context.js +4 -24
- package/transpiled/directives/octets/Context.js.map +1 -1
- package/transpiled/directives/octets/Delete.js +15 -12
- package/transpiled/directives/octets/Delete.js.map +1 -1
- package/transpiled/directives/octets/{Fetch.d.ts → Get.d.ts} +5 -6
- package/transpiled/directives/octets/{Fetch.js → Get.js} +34 -30
- package/transpiled/directives/octets/Get.js.map +1 -0
- package/transpiled/directives/octets/Octets.js +9 -12
- package/transpiled/directives/octets/Octets.js.map +1 -1
- package/transpiled/directives/octets/{Store.d.ts → Put.d.ts} +8 -2
- package/transpiled/directives/octets/{Store.js → Put.js} +33 -27
- package/transpiled/directives/octets/Put.js.map +1 -0
- package/transpiled/directives/octets/Workflow.js +7 -2
- package/transpiled/directives/octets/Workflow.js.map +1 -1
- package/transpiled/directives/octets/bytes.d.ts +1 -0
- package/transpiled/directives/octets/bytes.js +21 -0
- package/transpiled/directives/octets/bytes.js.map +1 -0
- package/transpiled/directives/octets/schemas.d.ts +4 -8
- package/transpiled/directives/octets/schemas.js +3 -6
- package/transpiled/directives/octets/schemas.js.map +1 -1
- package/transpiled/directives/octets/types.d.ts +2 -0
- package/transpiled/directives/octets/workflows/Execution.d.ts +7 -1
- package/transpiled/directives/octets/workflows/Execution.js +44 -9
- package/transpiled/directives/octets/workflows/Execution.js.map +1 -1
- package/transpiled/directives/octets/workflows/Workflow.d.ts +8 -3
- package/transpiled/directives/octets/workflows/Workflow.js +10 -4
- package/transpiled/directives/octets/workflows/Workflow.js.map +1 -1
- package/transpiled/directives/octets/workflows/index.d.ts +1 -1
- package/transpiled/directives/octets/workflows/index.js.map +1 -1
- package/transpiled/directives/require/Directive.d.ts +4 -0
- package/transpiled/directives/require/Directive.js +3 -0
- package/transpiled/directives/require/Directive.js.map +1 -0
- package/transpiled/directives/require/Headers.d.ts +7 -0
- package/transpiled/directives/require/Headers.js +19 -0
- package/transpiled/directives/require/Headers.js.map +1 -0
- package/transpiled/directives/require/Require.d.ts +9 -0
- package/transpiled/directives/require/Require.js +27 -0
- package/transpiled/directives/require/Require.js.map +1 -0
- package/transpiled/directives/require/index.d.ts +2 -0
- package/transpiled/directives/require/index.js +6 -0
- package/transpiled/directives/require/index.js.map +1 -0
- package/transpiled/exceptions.js +2 -1
- package/transpiled/exceptions.js.map +1 -1
- package/transpiled/manifest.js +10 -11
- package/transpiled/manifest.js.map +1 -1
- package/transpiled/root.js +16 -1
- package/transpiled/root.js.map +1 -1
- package/transpiled/schemas.d.ts +1 -1
- package/transpiled/schemas.js +2 -2
- package/transpiled/schemas.js.map +1 -1
- package/transpiled/tsconfig.tsbuildinfo +1 -1
- package/components/identity.basic/operations/create.d.ts +0 -10
- package/components/identity.basic/operations/create.js +0 -10
- package/components/identity.basic/operations/create.js.map +0 -1
- package/components/identity.basic/source/create.ts +0 -18
- package/components/identity.federation/operations/create.d.ts +0 -10
- package/components/identity.federation/operations/create.js +0 -15
- package/components/identity.federation/operations/create.js.map +0 -1
- package/components/identity.federation/operations/lib/assertions-as-values.d.ts +0 -4
- package/components/identity.federation/operations/lib/assertions-as-values.js.map +0 -1
- package/components/identity.federation/operations/lib/jwt.d.ts +0 -20
- package/components/identity.federation/operations/lib/jwt.js +0 -136
- package/components/identity.federation/operations/lib/jwt.js.map +0 -1
- package/components/identity.federation/operations/schemas.d.ts +0 -59
- package/components/identity.federation/operations/schemas.js +0 -9
- package/components/identity.federation/operations/schemas.js.map +0 -1
- package/components/identity.federation/operations/types.d.ts +0 -51
- package/components/identity.federation/operations/types.js.map +0 -1
- package/components/identity.federation/source/create.ts +0 -26
- package/components/identity.federation/source/lib/assertions-as-values.ts +0 -19
- package/components/identity.federation/source/lib/jwt.test.ts +0 -56
- package/components/identity.federation/source/lib/jwt.ts +0 -171
- package/components/identity.federation/source/schemas.ts +0 -61
- package/components/identity.federation/source/types.ts +0 -56
- package/components/identity.tokens/operations/types.d.ts +0 -39
- package/components/identity.tokens/operations/types.js.map +0 -1
- package/components/identity.tokens/source/types.ts +0 -47
- package/components/octets.storage/operations/fetch.js +0 -46
- package/components/octets.storage/operations/list.js +0 -7
- package/components/octets.storage/operations/permute.js +0 -7
- package/components/octets.storage/operations/store.js +0 -11
- package/documentation/vary.md +0 -75
- package/features/steps/IdP.ts +0 -154
- package/features/steps/components/octets.tester/operations/diversify.js +0 -14
- package/features/vary.feature +0 -203
- package/schemas/octets/context.cos.yaml +0 -1
- package/schemas/octets/fetch.cos.yaml +0 -3
- package/schemas/octets/permute.cos.yaml +0 -1
- package/schemas/octets/store.cos.yaml +0 -3
- package/source/HTTP/Server.test.ts +0 -126
- package/source/directives/octets/Fetch.ts +0 -100
- package/source/directives/octets/List.ts +0 -72
- package/source/directives/octets/Permute.ts +0 -44
- package/source/directives/vary/Directive.ts +0 -7
- package/source/directives/vary/Embed.ts +0 -68
- package/source/directives/vary/Vary.ts +0 -50
- package/source/directives/vary/embeddings/Embedding.ts +0 -7
- package/source/directives/vary/embeddings/Header.ts +0 -32
- package/source/directives/vary/embeddings/Language.ts +0 -31
- package/source/directives/vary/embeddings/Parameter.ts +0 -14
- package/source/directives/vary/embeddings/index.ts +0 -11
- package/source/directives/vary/index.ts +0 -3
- package/transpiled/directives/octets/Fetch.js.map +0 -1
- package/transpiled/directives/octets/List.d.ts +0 -16
- package/transpiled/directives/octets/List.js +0 -74
- package/transpiled/directives/octets/List.js.map +0 -1
- package/transpiled/directives/octets/Permute.d.ts +0 -11
- package/transpiled/directives/octets/Permute.js.map +0 -1
- package/transpiled/directives/octets/Store.js.map +0 -1
- package/transpiled/directives/vary/Directive.d.ts +0 -6
- package/transpiled/directives/vary/Directive.js.map +0 -1
- package/transpiled/directives/vary/Embed.d.ts +0 -11
- package/transpiled/directives/vary/Embed.js +0 -51
- package/transpiled/directives/vary/Embed.js.map +0 -1
- package/transpiled/directives/vary/Properties.js.map +0 -1
- package/transpiled/directives/vary/Vary.d.ts +0 -10
- package/transpiled/directives/vary/Vary.js +0 -36
- package/transpiled/directives/vary/Vary.js.map +0 -1
- package/transpiled/directives/vary/embeddings/Embedding.d.ts +0 -6
- package/transpiled/directives/vary/embeddings/Embedding.js.map +0 -1
- package/transpiled/directives/vary/embeddings/Header.d.ts +0 -7
- package/transpiled/directives/vary/embeddings/Header.js +0 -28
- package/transpiled/directives/vary/embeddings/Header.js.map +0 -1
- package/transpiled/directives/vary/embeddings/Language.d.ts +0 -7
- package/transpiled/directives/vary/embeddings/Language.js +0 -28
- package/transpiled/directives/vary/embeddings/Language.js.map +0 -1
- package/transpiled/directives/vary/embeddings/Parameter.d.ts +0 -7
- package/transpiled/directives/vary/embeddings/Parameter.js +0 -14
- package/transpiled/directives/vary/embeddings/Parameter.js.map +0 -1
- package/transpiled/directives/vary/embeddings/index.d.ts +0 -5
- package/transpiled/directives/vary/embeddings/index.js +0 -12
- package/transpiled/directives/vary/embeddings/index.js.map +0 -1
- package/transpiled/directives/vary/index.d.ts +0 -2
- package/transpiled/directives/vary/index.js +0 -6
- package/transpiled/directives/vary/index.js.map +0 -1
- /package/components/{identity.federation/operations → identity.tokens/operations/lib}/types.js +0 -0
- /package/schemas/octets/{list.cos.yaml → get.cos.yaml} +0 -0
- /package/{components/identity.tokens/operations → transpiled/directives/flow}/types.js +0 -0
- /package/transpiled/directives/{vary → map}/Directive.js +0 -0
|
@@ -8,6 +8,7 @@ Feature: Basic authentication
|
|
|
8
8
|
When the following request is received:
|
|
9
9
|
"""
|
|
10
10
|
POST /identity/basic/ HTTP/1.1
|
|
11
|
+
host: nex.toa.io
|
|
11
12
|
content-type: application/yaml
|
|
12
13
|
|
|
13
14
|
username: developer
|
|
@@ -20,6 +21,7 @@ Feature: Basic authentication
|
|
|
20
21
|
When the following request is received:
|
|
21
22
|
"""
|
|
22
23
|
POST /identity/basic/ HTTP/1.1
|
|
24
|
+
host: nex.toa.io
|
|
23
25
|
content-type: application/yaml
|
|
24
26
|
accept: application/yaml
|
|
25
27
|
|
|
@@ -37,7 +39,7 @@ Feature: Basic authentication
|
|
|
37
39
|
exposition:
|
|
38
40
|
/:
|
|
39
41
|
io:output: true
|
|
40
|
-
anonymous: true
|
|
42
|
+
anonymous: true # checking compatibility with anonymous access
|
|
41
43
|
POST:
|
|
42
44
|
incept: id
|
|
43
45
|
endpoint: transit
|
|
@@ -49,6 +51,7 @@ Feature: Basic authentication
|
|
|
49
51
|
When the following request is received:
|
|
50
52
|
"""
|
|
51
53
|
POST /users/ HTTP/1.1
|
|
54
|
+
host: nex.toa.io
|
|
52
55
|
authorization: Basic dXNlcjpwYXNzMTIzNA==
|
|
53
56
|
accept: application/yaml
|
|
54
57
|
content-type: application/yaml
|
|
@@ -66,6 +69,7 @@ Feature: Basic authentication
|
|
|
66
69
|
# basic credentials have been created
|
|
67
70
|
"""
|
|
68
71
|
GET /users/${{ id }}/ HTTP/1.1
|
|
72
|
+
host: nex.toa.io
|
|
69
73
|
authorization: Basic dXNlcjpwYXNzMTIzNA==
|
|
70
74
|
"""
|
|
71
75
|
Then the following reply is sent:
|
|
@@ -76,16 +80,19 @@ Feature: Basic authentication
|
|
|
76
80
|
# valid token has been issued
|
|
77
81
|
"""
|
|
78
82
|
GET /users/${{ id }}/ HTTP/1.1
|
|
83
|
+
host: nex.toa.io
|
|
79
84
|
authorization: Token ${{ token }}
|
|
80
85
|
"""
|
|
81
86
|
Then the following reply is sent:
|
|
82
87
|
"""
|
|
83
88
|
200 OK
|
|
84
89
|
"""
|
|
90
|
+
|
|
85
91
|
# username is taken
|
|
86
92
|
When the following request is received:
|
|
87
93
|
"""
|
|
88
94
|
POST /users/ HTTP/1.1
|
|
95
|
+
host: nex.toa.io
|
|
89
96
|
authorization: Basic dXNlcjphbm90aGVycGFzczEyMzQ=
|
|
90
97
|
accept: application/yaml
|
|
91
98
|
content-type: application/yaml
|
|
@@ -96,10 +103,12 @@ Feature: Basic authentication
|
|
|
96
103
|
"""
|
|
97
104
|
409 Conflict
|
|
98
105
|
"""
|
|
106
|
+
|
|
99
107
|
# credentials already exists
|
|
100
108
|
When the following request is received:
|
|
101
109
|
"""
|
|
102
110
|
POST /users/ HTTP/1.1
|
|
111
|
+
host: nex.toa.io
|
|
103
112
|
authorization: Basic dXNlcjpwYXNzMTIzNA==
|
|
104
113
|
accept: application/yaml
|
|
105
114
|
content-type: application/yaml
|
|
@@ -123,11 +132,12 @@ Feature: Basic authentication
|
|
|
123
132
|
access: granted!
|
|
124
133
|
"""
|
|
125
134
|
And the `identity.basic` database contains:
|
|
126
|
-
| _id | _version | username | password |
|
|
127
|
-
| efe3a65ebbee47ed95a73edd911ea328 | 1 | developer | $2b$10$ZRSKkgZoGnrcTNA5w5eCcu3pxDzdTduhteVYXcp56AaNcilNkwJ.O |
|
|
135
|
+
| _id | _version | authority | username | password |
|
|
136
|
+
| efe3a65ebbee47ed95a73edd911ea328 | 1 | nex | developer | $2b$10$ZRSKkgZoGnrcTNA5w5eCcu3pxDzdTduhteVYXcp56AaNcilNkwJ.O |
|
|
128
137
|
When the following request is received:
|
|
129
138
|
"""
|
|
130
139
|
PATCH /identity/basic/efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
|
|
140
|
+
host: nex.toa.io
|
|
131
141
|
authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
|
|
132
142
|
accept: application/yaml
|
|
133
143
|
content-type: application/yaml
|
|
@@ -142,6 +152,7 @@ Feature: Basic authentication
|
|
|
142
152
|
# old password
|
|
143
153
|
"""
|
|
144
154
|
GET /efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
|
|
155
|
+
host: nex.toa.io
|
|
145
156
|
authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
|
|
146
157
|
"""
|
|
147
158
|
Then the following reply is sent:
|
|
@@ -152,6 +163,7 @@ Feature: Basic authentication
|
|
|
152
163
|
# new password
|
|
153
164
|
"""
|
|
154
165
|
GET /efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
|
|
166
|
+
host: nex.toa.io
|
|
155
167
|
authorization: Basic ZGV2ZWxvcGVyOm5ldy1zZWNyZXQ=
|
|
156
168
|
"""
|
|
157
169
|
Then the following reply is sent:
|
|
@@ -159,14 +171,15 @@ Feature: Basic authentication
|
|
|
159
171
|
200 OK
|
|
160
172
|
"""
|
|
161
173
|
|
|
162
|
-
Scenario: Changing other identity
|
|
174
|
+
Scenario: Changing other identity's password
|
|
163
175
|
Given the `identity.basic` database contains:
|
|
164
|
-
| _id | username | password | _version |
|
|
165
|
-
| efe3a65ebbee47ed95a73edd911ea328 | developer | $2b$10$ZRSKkgZoGnrcTNA5w5eCcu3pxDzdTduhteVYXcp56AaNcilNkwJ.O | 1 |
|
|
166
|
-
| 6c0be50cbfb043acafe69cc7d3895f84 | attacker | $2b$10$ZRSKkgZoGnrcTNA5w5eCcu3pxDzdTduhteVYXcp56AaNcilNkwJ.O | 1 |
|
|
176
|
+
| _id | authority | username | password | _version |
|
|
177
|
+
| efe3a65ebbee47ed95a73edd911ea328 | nex | developer | $2b$10$ZRSKkgZoGnrcTNA5w5eCcu3pxDzdTduhteVYXcp56AaNcilNkwJ.O | 1 |
|
|
178
|
+
| 6c0be50cbfb043acafe69cc7d3895f84 | nex | attacker | $2b$10$ZRSKkgZoGnrcTNA5w5eCcu3pxDzdTduhteVYXcp56AaNcilNkwJ.O | 1 |
|
|
167
179
|
When the following request is received:
|
|
168
180
|
"""
|
|
169
181
|
PATCH /identity/basic/efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
|
|
182
|
+
host: nex.toa.io
|
|
170
183
|
authorization: Basic YXR0YWNrZXI6c2VjcmV0
|
|
171
184
|
accept: application/yaml
|
|
172
185
|
content-type: application/yaml
|
|
@@ -182,6 +195,7 @@ Feature: Basic authentication
|
|
|
182
195
|
When the following request is received:
|
|
183
196
|
"""
|
|
184
197
|
POST /identity/basic/ HTTP/1.1
|
|
198
|
+
host: nex.toa.io
|
|
185
199
|
accept: application/yaml
|
|
186
200
|
content-type: application/yaml
|
|
187
201
|
|
|
@@ -190,17 +204,17 @@ Feature: Basic authentication
|
|
|
190
204
|
"""
|
|
191
205
|
Then the following reply is sent:
|
|
192
206
|
"""
|
|
193
|
-
|
|
207
|
+
422 Unprocessable Entity
|
|
194
208
|
|
|
195
209
|
code: <code>
|
|
196
|
-
message: <problem> is not meeting the requirements
|
|
210
|
+
message: <problem> is not meeting the requirements
|
|
197
211
|
"""
|
|
198
212
|
Examples:
|
|
199
|
-
| username
|
|
200
|
-
|
|
|
201
|
-
| root
|
|
213
|
+
| username | password | problem | code |
|
|
214
|
+
| zYF8G6obtE3c5ARpZjnMwv0L7lX2dQUyJ1KiHS9ag4fThDPVxCsuIWmNeBqkOrzYF8G6obtE3c5ARpZjnMwv0L7lX2dQUyJ1KiHS9ag4fThDPVxCsuIWmNeBqkOris129 | secret#1234 | Username | INVALID_USERNAME |
|
|
215
|
+
| root | short | Password | INVALID_PASSWORD |
|
|
202
216
|
|
|
203
|
-
Scenario Outline:
|
|
217
|
+
Scenario Outline: <property> is not meeting one of requirements
|
|
204
218
|
Given the `identity.basic` configuration:
|
|
205
219
|
"""yaml
|
|
206
220
|
<property>:
|
|
@@ -208,11 +222,12 @@ Feature: Basic authentication
|
|
|
208
222
|
- ^[^A]{1,16}$ # should not contain 'A'
|
|
209
223
|
"""
|
|
210
224
|
And the `identity.basic` database contains:
|
|
211
|
-
| _id | _version | username | password |
|
|
212
|
-
| efe3a65ebbee47ed95a73edd911ea328 | 1 | developer | $2b$10$ZRSKkgZoGnrcTNA5w5eCcu3pxDzdTduhteVYXcp56AaNcilNkwJ.O |
|
|
225
|
+
| _id | _version | authority | username | password |
|
|
226
|
+
| efe3a65ebbee47ed95a73edd911ea328 | 1 | nex | developer | $2b$10$ZRSKkgZoGnrcTNA5w5eCcu3pxDzdTduhteVYXcp56AaNcilNkwJ.O |
|
|
213
227
|
When the following request is received:
|
|
214
228
|
"""
|
|
215
229
|
PATCH /identity/basic/efe3a65ebbee47ed95a73edd911ea328/ HTTP/1.1
|
|
230
|
+
host: nex.toa.io
|
|
216
231
|
authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
|
|
217
232
|
accept: application/yaml
|
|
218
233
|
content-type: application/yaml
|
|
@@ -221,7 +236,7 @@ Feature: Basic authentication
|
|
|
221
236
|
"""
|
|
222
237
|
Then the following reply is sent:
|
|
223
238
|
"""
|
|
224
|
-
|
|
239
|
+
422 Unprocessable Entity
|
|
225
240
|
"""
|
|
226
241
|
Examples:
|
|
227
242
|
| property |
|
|
@@ -245,6 +260,7 @@ Feature: Basic authentication
|
|
|
245
260
|
When the following request is received:
|
|
246
261
|
"""
|
|
247
262
|
POST /identity/basic/ HTTP/1.1
|
|
263
|
+
host: nex.toa.io
|
|
248
264
|
accept: application/yaml
|
|
249
265
|
content-type: application/yaml
|
|
250
266
|
|
|
@@ -262,6 +278,7 @@ Feature: Basic authentication
|
|
|
262
278
|
When the following request is received:
|
|
263
279
|
"""
|
|
264
280
|
GET /identity/roles/${{ id }}/ HTTP/1.1
|
|
281
|
+
host: nex.toa.io
|
|
265
282
|
authorization: Basic cm9vdDpzZWNyZXQjMTIzNA==
|
|
266
283
|
accept: application/yaml
|
|
267
284
|
"""
|
|
@@ -275,6 +292,7 @@ Feature: Basic authentication
|
|
|
275
292
|
When the following request is received:
|
|
276
293
|
"""
|
|
277
294
|
GET / HTTP/1.1
|
|
295
|
+
host: nex.toa.io
|
|
278
296
|
authorization: Token ${{ token }}
|
|
279
297
|
accept: application/yaml
|
|
280
298
|
"""
|
|
@@ -288,6 +306,7 @@ Feature: Basic authentication
|
|
|
288
306
|
When the following request is received:
|
|
289
307
|
"""
|
|
290
308
|
PATCH /identity/basic/${{ id }}/ HTTP/1.1
|
|
309
|
+
host: nex.toa.io
|
|
291
310
|
authorization: Token ${{ token }}
|
|
292
311
|
accept: application/yaml
|
|
293
312
|
content-type: application/yaml
|
|
@@ -296,15 +315,14 @@ Feature: Basic authentication
|
|
|
296
315
|
"""
|
|
297
316
|
Then the following reply is sent:
|
|
298
317
|
"""
|
|
299
|
-
|
|
318
|
+
422 Unprocessable Entity
|
|
300
319
|
|
|
301
320
|
code: PRINCIPAL_LOCKED
|
|
302
|
-
message: Principal username cannot be changed
|
|
321
|
+
message: Principal username cannot be changed
|
|
303
322
|
"""
|
|
304
323
|
|
|
305
324
|
Scenario: Creating an Identity using inception with existing credentials
|
|
306
|
-
Given the `
|
|
307
|
-
And the `users` is running with the following manifest:
|
|
325
|
+
Given the `users` is running with the following manifest:
|
|
308
326
|
"""yaml
|
|
309
327
|
exposition:
|
|
310
328
|
/:
|
|
@@ -312,12 +330,14 @@ Feature: Basic authentication
|
|
|
312
330
|
anonymous: true
|
|
313
331
|
POST:
|
|
314
332
|
incept: id
|
|
333
|
+
query: false
|
|
315
334
|
endpoint: transit
|
|
316
335
|
"""
|
|
317
336
|
When the following request is received:
|
|
318
337
|
# identity inception
|
|
319
338
|
"""
|
|
320
339
|
POST /users/ HTTP/1.1
|
|
340
|
+
host: nex.toa.io
|
|
321
341
|
authorization: Basic dXNlcjpwYXNzMTIzNA==
|
|
322
342
|
accept: application/yaml
|
|
323
343
|
content-type: application/yaml
|
|
@@ -332,8 +352,9 @@ Feature: Basic authentication
|
|
|
332
352
|
# same credentials
|
|
333
353
|
"""
|
|
334
354
|
POST /users/ HTTP/1.1
|
|
355
|
+
host: nex.toa.io
|
|
335
356
|
authorization: Basic dXNlcjpwYXNzMTIzNA==
|
|
336
|
-
content-type:
|
|
357
|
+
content-type: application/yaml
|
|
337
358
|
|
|
338
359
|
name: Mary Louis
|
|
339
360
|
"""
|
|
@@ -341,3 +362,65 @@ Feature: Basic authentication
|
|
|
341
362
|
"""
|
|
342
363
|
403 Forbidden
|
|
343
364
|
"""
|
|
365
|
+
|
|
366
|
+
Scenario: Incorrect credentials format
|
|
367
|
+
Given the `identity.basic` database is empty
|
|
368
|
+
And the `users` is running with the following manifest:
|
|
369
|
+
"""yaml
|
|
370
|
+
exposition:
|
|
371
|
+
/:
|
|
372
|
+
io:output: true
|
|
373
|
+
anonymous: true
|
|
374
|
+
POST:
|
|
375
|
+
incept: id
|
|
376
|
+
endpoint: transit
|
|
377
|
+
"""
|
|
378
|
+
When the following request is received:
|
|
379
|
+
"""
|
|
380
|
+
GET /identity/ HTTP/1.1
|
|
381
|
+
host: nex.toa.io
|
|
382
|
+
authorization: Basic not-base64
|
|
383
|
+
"""
|
|
384
|
+
Then the following reply is sent:
|
|
385
|
+
"""
|
|
386
|
+
401 Unauthorized
|
|
387
|
+
"""
|
|
388
|
+
When the following request is received:
|
|
389
|
+
"""
|
|
390
|
+
POST /users/ HTTP/1.1
|
|
391
|
+
host: nex.toa.io
|
|
392
|
+
authorization: Basic not-base64
|
|
393
|
+
accept: application/yaml
|
|
394
|
+
content-type: application/yaml
|
|
395
|
+
|
|
396
|
+
name: Bill Smith
|
|
397
|
+
"""
|
|
398
|
+
Then the following reply is sent:
|
|
399
|
+
"""
|
|
400
|
+
422 Unprocessable Entity
|
|
401
|
+
|
|
402
|
+
code: INVALID_CREDENTIALS
|
|
403
|
+
"""
|
|
404
|
+
|
|
405
|
+
Scenario: Check if username is available
|
|
406
|
+
Given the `identity.basic` database contains:
|
|
407
|
+
| _id | authority | username | password | _version |
|
|
408
|
+
| efe3a65ebbee47ed95a73edd911ea328 | nex | developer | $2b$10$ZRSKkgZoGnrcTNA5w5eCcu3pxDzdTduhteVYXcp56AaNcilNkwJ.O | 1 |
|
|
409
|
+
When the following request is received:
|
|
410
|
+
"""
|
|
411
|
+
GET /identity/basic/usernames/ZGV2ZWxvcGVy/ HTTP/1.1
|
|
412
|
+
host: nex.toa.io
|
|
413
|
+
"""
|
|
414
|
+
Then the following reply is sent:
|
|
415
|
+
"""
|
|
416
|
+
204 No Content
|
|
417
|
+
"""
|
|
418
|
+
When the following request is received:
|
|
419
|
+
"""
|
|
420
|
+
GET /identity/basic/username/bWFuYWdlcg/ HTTP/1.1
|
|
421
|
+
host: nex.toa.io
|
|
422
|
+
"""
|
|
423
|
+
Then the following reply is sent:
|
|
424
|
+
"""
|
|
425
|
+
404 Not Found
|
|
426
|
+
"""
|
|
@@ -2,8 +2,8 @@ Feature: Identity resource
|
|
|
2
2
|
|
|
3
3
|
Scenario: Requesting own Identity
|
|
4
4
|
Given the `identity.basic` database contains:
|
|
5
|
-
| _id | username | password |
|
|
6
|
-
| efe3a65ebbee47ed95a73edd911ea328 | developer | $2b$10$ZRSKkgZoGnrcTNA5w5eCcu3pxDzdTduhteVYXcp56AaNcilNkwJ.O |
|
|
5
|
+
| _id | authority | username | password |
|
|
6
|
+
| efe3a65ebbee47ed95a73edd911ea328 | nex | developer | $2b$10$ZRSKkgZoGnrcTNA5w5eCcu3pxDzdTduhteVYXcp56AaNcilNkwJ.O |
|
|
7
7
|
And the `identity.roles` database contains:
|
|
8
8
|
| _id | identity | role |
|
|
9
9
|
| 9c4702490ff84f2a9e1b1da2ab64bdd4 | efe3a65ebbee47ed95a73edd911ea328 | developer |
|
|
@@ -11,6 +11,7 @@ Feature: Identity resource
|
|
|
11
11
|
When the following request is received:
|
|
12
12
|
"""
|
|
13
13
|
GET /identity/ HTTP/1.1
|
|
14
|
+
host: nex.toa.io
|
|
14
15
|
authorization: Basic ZGV2ZWxvcGVyOnNlY3JldA==
|
|
15
16
|
accept: application/yaml
|
|
16
17
|
"""
|
|
@@ -27,6 +28,7 @@ Feature: Identity resource
|
|
|
27
28
|
When the following request is received:
|
|
28
29
|
"""
|
|
29
30
|
GET /identity/ HTTP/1.1
|
|
31
|
+
host: nex.toa.io
|
|
30
32
|
authorization: Token ${{ User.token }}
|
|
31
33
|
accept: application/yaml
|
|
32
34
|
"""
|
|
@@ -43,6 +45,7 @@ Feature: Identity resource
|
|
|
43
45
|
When the following request is received:
|
|
44
46
|
"""
|
|
45
47
|
GET /identity/ HTTP/1.1
|
|
48
|
+
host: nex.toa.io
|
|
46
49
|
authorization: Token ${{ User.token }}
|
|
47
50
|
accept: application/yaml
|
|
48
51
|
"""
|
|
@@ -56,20 +59,29 @@ Feature: Identity resource
|
|
|
56
59
|
- system:identity
|
|
57
60
|
"""
|
|
58
61
|
|
|
59
|
-
Scenario:
|
|
60
|
-
Given the `identity.basic` database is empty
|
|
62
|
+
Scenario: Getting transient Identity
|
|
61
63
|
When the following request is received:
|
|
62
64
|
"""
|
|
63
65
|
GET /identity/ HTTP/1.1
|
|
64
|
-
|
|
66
|
+
host: nex.toa.io
|
|
67
|
+
accept: application/yaml
|
|
65
68
|
"""
|
|
66
69
|
Then the following reply is sent:
|
|
67
70
|
"""
|
|
68
|
-
|
|
71
|
+
201 Created
|
|
72
|
+
authorization: Token ${{ token }}
|
|
73
|
+
|
|
74
|
+
id: ${{ id }}
|
|
75
|
+
roles: []
|
|
69
76
|
"""
|
|
77
|
+
|
|
78
|
+
Scenario: Requesting Identity with non-existent credentials
|
|
79
|
+
Given the `identity.basic` database is empty
|
|
70
80
|
When the following request is received:
|
|
71
81
|
"""
|
|
72
82
|
GET /identity/ HTTP/1.1
|
|
83
|
+
host: nex.toa.io
|
|
84
|
+
authorization: Basic dXNlcjpwYXNzMTIzNA==
|
|
73
85
|
"""
|
|
74
86
|
Then the following reply is sent:
|
|
75
87
|
"""
|
|
@@ -3,22 +3,21 @@ Feature: Identity Federation
|
|
|
3
3
|
|
|
4
4
|
Background:
|
|
5
5
|
Given the `identity.federation` database is empty
|
|
6
|
-
|
|
6
|
+
And local IDP is running
|
|
7
7
|
|
|
8
|
-
Scenario:
|
|
8
|
+
Scenario: Asymmetric tokens
|
|
9
9
|
Given the `identity.federation` configuration:
|
|
10
10
|
"""yaml
|
|
11
|
-
explicit_identity_creation: false
|
|
12
11
|
trust:
|
|
13
|
-
-
|
|
12
|
+
- iss: http://localhost:44444
|
|
14
13
|
"""
|
|
15
14
|
And the IDP token for User is issued
|
|
16
15
|
When the following request is received:
|
|
17
16
|
"""
|
|
18
17
|
GET /identity/ HTTP/1.1
|
|
18
|
+
host: nex.toa.io
|
|
19
19
|
authorization: Bearer ${{ User.id_token }}
|
|
20
20
|
accept: application/yaml
|
|
21
|
-
content-type: application/yaml
|
|
22
21
|
"""
|
|
23
22
|
Then the following reply is sent:
|
|
24
23
|
"""
|
|
@@ -28,10 +27,10 @@ Feature: Identity Federation
|
|
|
28
27
|
id: ${{ User.id }}
|
|
29
28
|
roles: []
|
|
30
29
|
"""
|
|
31
|
-
# validate TOKEN
|
|
32
30
|
When the following request is received:
|
|
33
31
|
"""
|
|
34
32
|
GET /identity/ HTTP/1.1
|
|
33
|
+
host: nex.toa.io
|
|
35
34
|
accept: application/yaml
|
|
36
35
|
authorization: Token ${{ User.token }}
|
|
37
36
|
"""
|
|
@@ -45,6 +44,7 @@ Feature: Identity Federation
|
|
|
45
44
|
When the following request is received:
|
|
46
45
|
"""
|
|
47
46
|
GET /identity/ HTTP/1.1
|
|
47
|
+
host: nex.toa.io
|
|
48
48
|
authorization: Bearer ${{ User.id_token }}
|
|
49
49
|
accept: application/yaml
|
|
50
50
|
"""
|
|
@@ -55,40 +55,12 @@ Feature: Identity Federation
|
|
|
55
55
|
id: ${{ User.id }}
|
|
56
56
|
"""
|
|
57
57
|
|
|
58
|
-
Scenario:
|
|
59
|
-
Given the `identity.federation` configuration:
|
|
60
|
-
"""yaml
|
|
61
|
-
explicit_identity_creation: false
|
|
62
|
-
trust:
|
|
63
|
-
- issuer: http://localhost:44444
|
|
64
|
-
secrets:
|
|
65
|
-
HS384:
|
|
66
|
-
k1: the-secret
|
|
67
|
-
"""
|
|
68
|
-
And the IDP HS384 token for GoodUser is issued with following secret:
|
|
69
|
-
"""
|
|
70
|
-
the-secret
|
|
71
|
-
"""
|
|
72
|
-
When the following request is received:
|
|
73
|
-
"""
|
|
74
|
-
GET /identity/ HTTP/1.1
|
|
75
|
-
authorization: Bearer ${{ GoodUser.id_token }}
|
|
76
|
-
accept: application/yaml
|
|
77
|
-
content-type: application/yaml
|
|
78
|
-
"""
|
|
79
|
-
Then the following reply is sent:
|
|
80
|
-
"""
|
|
81
|
-
200 OK
|
|
82
|
-
authorization: Token ${{ GoodUser.token }}
|
|
83
|
-
|
|
84
|
-
id: ${{ GoodUser.id }}
|
|
85
|
-
"""
|
|
86
|
-
|
|
87
|
-
Scenario: Creating an Identity using inception with existing credentials
|
|
58
|
+
Scenario: Creating an Identity using inception
|
|
88
59
|
Given the `identity.federation` configuration:
|
|
89
60
|
"""yaml
|
|
90
61
|
trust:
|
|
91
|
-
-
|
|
62
|
+
- iss: http://localhost:44444
|
|
63
|
+
assert: false
|
|
92
64
|
"""
|
|
93
65
|
Given the `users` is running with the following manifest:
|
|
94
66
|
"""yaml
|
|
@@ -96,8 +68,8 @@ Feature: Identity Federation
|
|
|
96
68
|
/:
|
|
97
69
|
anonymous: true
|
|
98
70
|
POST:
|
|
99
|
-
io:output:
|
|
100
|
-
incept: id
|
|
71
|
+
io:output: [id]
|
|
72
|
+
auth:incept: id
|
|
101
73
|
endpoint: create
|
|
102
74
|
"""
|
|
103
75
|
And the IDP token for Bill is issued
|
|
@@ -105,6 +77,7 @@ Feature: Identity Federation
|
|
|
105
77
|
# identity inception
|
|
106
78
|
"""
|
|
107
79
|
POST /users/ HTTP/1.1
|
|
80
|
+
host: nex.toa.io
|
|
108
81
|
authorization: Bearer ${{ Bill.id_token }}
|
|
109
82
|
accept: application/yaml
|
|
110
83
|
content-type: application/yaml
|
|
@@ -122,6 +95,7 @@ Feature: Identity Federation
|
|
|
122
95
|
When the following request is received:
|
|
123
96
|
"""
|
|
124
97
|
GET /identity/ HTTP/1.1
|
|
98
|
+
host: nex.toa.io
|
|
125
99
|
authorization: Token ${{ Bill.token }}
|
|
126
100
|
accept: application/yaml
|
|
127
101
|
"""
|
|
@@ -133,20 +107,23 @@ Feature: Identity Federation
|
|
|
133
107
|
When the following request is received:
|
|
134
108
|
"""
|
|
135
109
|
GET /identity/ HTTP/1.1
|
|
110
|
+
host: nex.toa.io
|
|
136
111
|
authorization: Bearer ${{ Bill.id_token }}
|
|
137
112
|
accept: application/yaml
|
|
138
113
|
"""
|
|
139
114
|
Then the following reply is sent:
|
|
140
115
|
"""
|
|
141
116
|
200 OK
|
|
117
|
+
|
|
142
118
|
id: ${{ Bill.id }}
|
|
143
119
|
"""
|
|
144
120
|
And the following request is received:
|
|
145
121
|
# same credentials
|
|
146
122
|
"""
|
|
147
123
|
POST /users/ HTTP/1.1
|
|
124
|
+
host: nex.toa.io
|
|
148
125
|
authorization: Bearer ${{ Bill.id_token }}
|
|
149
|
-
content-type:
|
|
126
|
+
content-type: application/yaml
|
|
150
127
|
|
|
151
128
|
name: Mary Louis
|
|
152
129
|
"""
|
|
@@ -158,22 +135,23 @@ Feature: Identity Federation
|
|
|
158
135
|
Scenario: Granting a `system` role to a Principal
|
|
159
136
|
Given the `identity.federation` configuration:
|
|
160
137
|
"""yaml
|
|
161
|
-
explicit_identity_creation: false
|
|
162
138
|
trust:
|
|
163
|
-
-
|
|
139
|
+
- iss: http://localhost:44444
|
|
164
140
|
principal:
|
|
165
141
|
iss: http://localhost:44444
|
|
166
|
-
sub: root
|
|
142
|
+
sub: root
|
|
167
143
|
"""
|
|
168
144
|
And the IDP token for root is issued
|
|
145
|
+
|
|
146
|
+
# create an identity
|
|
169
147
|
When the following request is received:
|
|
170
148
|
"""
|
|
171
149
|
GET /identity/ HTTP/1.1
|
|
150
|
+
host: nex.toa.io
|
|
172
151
|
authorization: Bearer ${{ root.id_token }}
|
|
173
152
|
accept: application/yaml
|
|
174
153
|
content-type: application/yaml
|
|
175
154
|
"""
|
|
176
|
-
# create an identity
|
|
177
155
|
Then the following reply is sent:
|
|
178
156
|
"""
|
|
179
157
|
200 OK
|
|
@@ -181,10 +159,14 @@ Feature: Identity Federation
|
|
|
181
159
|
|
|
182
160
|
id: ${{ root.id }}
|
|
183
161
|
"""
|
|
162
|
+
|
|
163
|
+
Then after 0.2 seconds
|
|
164
|
+
|
|
184
165
|
# check the role
|
|
185
166
|
When the following request is received:
|
|
186
167
|
"""
|
|
187
168
|
GET /identity/ HTTP/1.1
|
|
169
|
+
host: nex.toa.io
|
|
188
170
|
accept: application/yaml
|
|
189
171
|
authorization: Token ${{ root.token }}
|
|
190
172
|
"""
|
|
@@ -196,3 +178,111 @@ Feature: Identity Federation
|
|
|
196
178
|
roles:
|
|
197
179
|
- system
|
|
198
180
|
"""
|
|
181
|
+
|
|
182
|
+
Scenario: Adding federation to an existing identity
|
|
183
|
+
Given the `identity.federation` configuration:
|
|
184
|
+
"""yaml
|
|
185
|
+
trust:
|
|
186
|
+
- iss: http://localhost:44444
|
|
187
|
+
"""
|
|
188
|
+
And the `identity.basic` database is empty
|
|
189
|
+
|
|
190
|
+
# create an identity
|
|
191
|
+
When the following request is received:
|
|
192
|
+
"""
|
|
193
|
+
POST /identity/basic/ HTTP/1.1
|
|
194
|
+
host: nex.toa.io
|
|
195
|
+
content-type: application/yaml
|
|
196
|
+
accept: application/yaml
|
|
197
|
+
|
|
198
|
+
username: #{{ id | set Bob.username }}
|
|
199
|
+
password: #{{ password 8 | set Bob.password }}
|
|
200
|
+
"""
|
|
201
|
+
Then the following reply is sent:
|
|
202
|
+
"""
|
|
203
|
+
201 Created
|
|
204
|
+
|
|
205
|
+
id: ${{ Bob.id }}
|
|
206
|
+
"""
|
|
207
|
+
|
|
208
|
+
When the IDP token for Bob is issued
|
|
209
|
+
|
|
210
|
+
# add federation
|
|
211
|
+
When the following request is received:
|
|
212
|
+
"""
|
|
213
|
+
POST /identity/federation/${{ Bob.id }}/ HTTP/1.1
|
|
214
|
+
host: nex.toa.io
|
|
215
|
+
authorization: Basic #{{ basic Bob }}
|
|
216
|
+
content-type: application/yaml
|
|
217
|
+
accept: application/yaml
|
|
218
|
+
|
|
219
|
+
credentials: ${{ Bob.id_token }}
|
|
220
|
+
"""
|
|
221
|
+
Then the following reply is sent:
|
|
222
|
+
"""
|
|
223
|
+
201 Created
|
|
224
|
+
"""
|
|
225
|
+
And the following request is received:
|
|
226
|
+
"""
|
|
227
|
+
GET /identity/ HTTP/1.1
|
|
228
|
+
host: nex.toa.io
|
|
229
|
+
authorization: Bearer ${{ Bob.id_token }}
|
|
230
|
+
accept: application/yaml
|
|
231
|
+
"""
|
|
232
|
+
Then the following reply is sent:
|
|
233
|
+
"""
|
|
234
|
+
200 OK
|
|
235
|
+
|
|
236
|
+
id: ${{ Bob.id }}
|
|
237
|
+
"""
|
|
238
|
+
|
|
239
|
+
Scenario: Authorization code flow with secret
|
|
240
|
+
Given the `identity.federation` configuration:
|
|
241
|
+
"""yaml
|
|
242
|
+
trust:
|
|
243
|
+
- iss: http://localhost:44444
|
|
244
|
+
aud: nex
|
|
245
|
+
secret: secret
|
|
246
|
+
"""
|
|
247
|
+
And auth code for Alice is issued for https://web.toa.io/callback/
|
|
248
|
+
When the following request is received:
|
|
249
|
+
"""
|
|
250
|
+
GET /identity/ HTTP/1.1
|
|
251
|
+
authorization: Code ${{ Alice.code_credentials }}
|
|
252
|
+
host: nex.toa.io
|
|
253
|
+
accept: application/yaml
|
|
254
|
+
"""
|
|
255
|
+
Then the following reply is sent:
|
|
256
|
+
"""
|
|
257
|
+
200 OK
|
|
258
|
+
authorization: Token ${{ Alice.token }}
|
|
259
|
+
|
|
260
|
+
id: ${{ Alice.id }}
|
|
261
|
+
"""
|
|
262
|
+
|
|
263
|
+
Scenario: Authorization code flow with signature
|
|
264
|
+
Given the `identity.federation` configuration:
|
|
265
|
+
"""yaml
|
|
266
|
+
trust:
|
|
267
|
+
- iss: http://localhost:44444
|
|
268
|
+
aud: nex
|
|
269
|
+
signature:
|
|
270
|
+
iss: io.toa.nex.id
|
|
271
|
+
kid: key-id
|
|
272
|
+
key: LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JR0hBZ0VBTUJNR0J5cUdTTTQ5QWdFR0NDcUdTTTQ5QXdFSEJHMHdhd0lCQVFRZzl4OURhdHdIMEdaSFNDbzkKVE1IVFZYeWVZMFlROHFiNzNqSFYydjRNc3llaFJBTkNBQVF3YVlsbmEyaFNWM0cvUklsTkxWNDFsZzhQbTRLZgpIZkN1S0tpdzNCSUpUblNBckFNSkxTeTF2WXdTSU1IejcyMG1rbVdUcld1UWtranZrRHBaeGZSdgotLS0tLUVORCBQUklWQVRFIEtFWS0tLS0t
|
|
273
|
+
"""
|
|
274
|
+
And auth code for Bob is issued for https://web.toa.io/callback/
|
|
275
|
+
When the following request is received:
|
|
276
|
+
"""
|
|
277
|
+
GET /identity/ HTTP/1.1
|
|
278
|
+
authorization: Code ${{ Bob.code_credentials }}
|
|
279
|
+
host: nex.toa.io
|
|
280
|
+
accept: application/yaml
|
|
281
|
+
"""
|
|
282
|
+
Then the following reply is sent:
|
|
283
|
+
"""
|
|
284
|
+
200 OK
|
|
285
|
+
authorization: Token ${{ Bob.token }}
|
|
286
|
+
|
|
287
|
+
id: ${{ Bob.id }}
|
|
288
|
+
"""
|