@toa.io/extensions.exposition 1.0.0-alpha.14 → 1.0.0-alpha.142
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/manifest.toa.yaml +1 -1
- package/components/identity.bans/operations/tsconfig.tsbuildinfo +1 -1
- package/components/identity.basic/manifest.toa.yaml +43 -10
- 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 +65 -19
- package/components/identity.federation/operations/authenticate.d.ts +13 -2
- package/components/identity.federation/operations/authenticate.js +11 -10
- package/components/identity.federation/operations/authenticate.js.map +1 -1
- package/components/identity.federation/operations/decode.d.ts +2 -0
- package/{transpiled/directives/octets/Permute.js → components/identity.federation/operations/decode.js} +7 -32
- package/components/identity.federation/operations/decode.js.map +1 -0
- package/components/identity.federation/operations/incept.d.ts +10 -0
- package/components/identity.federation/operations/incept.js +14 -0
- package/components/identity.federation/operations/incept.js.map +1 -0
- package/components/identity.federation/operations/lib/assertions-as-values.js +4 -2
- package/components/identity.federation/operations/lib/assertions-as-values.js.map +1 -1
- package/components/identity.federation/operations/lib/get.d.ts +1 -0
- package/components/identity.federation/operations/lib/get.js +64 -0
- package/components/identity.federation/operations/lib/get.js.map +1 -0
- package/components/identity.federation/operations/lib/jwt.d.ts +5 -5
- package/components/identity.federation/operations/lib/jwt.js +35 -19
- package/components/identity.federation/operations/lib/jwt.js.map +1 -1
- package/components/identity.federation/operations/tsconfig.tsbuildinfo +1 -1
- package/components/identity.federation/operations/types/configuration.d.ts +15 -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.d.ts → types/context.d.ts} +15 -13
- package/{transpiled/directives/vary/embeddings/Embedding.js → components/identity.federation/operations/types/context.js} +1 -1
- 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 +3 -0
- package/components/identity.federation/operations/types/index.js +20 -0
- package/components/identity.federation/operations/types/index.js.map +1 -0
- package/components/identity.federation/source/authenticate.ts +26 -16
- package/components/identity.federation/source/decode.ts +9 -0
- package/components/identity.federation/source/incept.ts +26 -0
- package/components/identity.federation/source/lib/assertions-as-values.ts +5 -2
- package/components/identity.federation/source/lib/get.ts +82 -0
- package/components/identity.federation/source/lib/jwt.test.ts +127 -4
- package/components/identity.federation/source/lib/jwt.ts +48 -21
- package/components/identity.federation/source/types/configuration.ts +16 -0
- package/components/identity.federation/source/{types.ts → types/context.ts} +16 -13
- package/components/identity.federation/source/types/entity.ts +6 -0
- package/components/identity.federation/source/types/index.ts +3 -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.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 +16 -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 +17 -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 +3 -1
- 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 +97 -13
- 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 +12 -3
- package/components/identity.tokens/operations/decrypt.js +62 -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 +74 -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 +91 -20
- package/components/identity.tokens/source/encrypt.test.ts +47 -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 +85 -0
- package/components/identity.tokens/source/revoke.ts +2 -2
- package/components/octets.storage/manifest.toa.yaml +11 -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 +83 -31
- package/documentation/authorities.md +48 -0
- package/documentation/cache.md +8 -1
- package/documentation/components.md +123 -51
- package/documentation/dev.md +30 -0
- package/documentation/flow.md +44 -0
- package/documentation/identity.md +55 -23
- package/documentation/introspection.md +82 -0
- package/documentation/map.md +86 -0
- package/documentation/octets.md +122 -69
- package/documentation/passkeys.md +4 -0
- package/documentation/protocol.md +11 -4
- package/documentation/query.md +29 -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 +171 -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 +100 -0
- package/features/authorities.tokens.feature +117 -0
- package/features/body.feature +2 -0
- package/features/cache.feature +125 -5
- package/features/cors.feature +8 -2
- 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 +109 -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 +125 -18
- package/features/identity.roles.feature +60 -20
- package/features/identity.tokens.feature +12 -44
- 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/map.feature +305 -0
- package/features/methods.feature +47 -0
- package/features/octets.cloudinary.feature +71 -0
- package/features/octets.download.feature +189 -0
- package/features/octets.entries.feature +13 -55
- package/features/octets.feature +90 -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 +339 -66
- package/features/passkeys.feature +66 -0
- package/features/probes.feature +14 -0
- package/features/{queries.feature → query.feature} +77 -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 +3 -0
- package/features/steps/Common.ts +4 -0
- package/features/steps/Gateway.ts +26 -7
- package/features/steps/HTTP.ts +25 -2
- package/features/steps/IdP.ts +64 -2
- package/features/steps/Identity.ts +51 -0
- package/features/steps/Parameters.ts +45 -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 +25 -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 +0 -2
- package/features/steps/components/octets.tester/operations/echo.js +1 -1
- package/features/steps/components/octets.tester/operations/foo.js +1 -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 +12 -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 +1 -2
- package/features/streams.feature +5 -0
- package/features/timestamps.feature +41 -0
- package/features/timing.feature +4 -1
- package/package.json +25 -13
- package/readme.md +19 -14
- package/schemas/annotation.cos.yaml +1 -1
- 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 +4 -10
- package/source/Annotation.ts +3 -3
- package/source/Branch.ts +1 -0
- package/source/Composition.ts +0 -6
- package/source/Context.ts +1 -0
- package/source/Directive.test.ts +1 -1
- package/source/Directive.ts +14 -8
- package/source/Endpoint.ts +70 -17
- package/source/Factory.ts +22 -13
- package/source/Gateway.ts +73 -19
- package/source/HTTP/Context.ts +29 -7
- package/source/HTTP/Server.ts +119 -49
- package/source/HTTP/exceptions.ts +12 -0
- package/source/HTTP/formats/index.ts +3 -3
- package/source/HTTP/messages.test.ts +46 -2
- package/source/HTTP/messages.ts +44 -9
- package/source/Introspection.ts +11 -0
- package/source/Mapping.ts +68 -21
- package/source/Query.test.ts +3 -3
- package/source/Query.ts +123 -33
- package/source/RTD/Context.ts +1 -1
- 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 +5 -4
- package/source/RTD/Tree.ts +2 -2
- package/source/RTD/factory.ts +4 -1
- package/source/RTD/syntax/parse.test.ts +1 -1
- package/source/RTD/syntax/parse.ts +37 -24
- package/source/RTD/syntax/types.ts +6 -4
- package/source/Remotes.ts +7 -6
- package/source/Tenant.ts +6 -12
- package/source/deployment.ts +33 -23
- package/source/directives/auth/Anonymous.ts +3 -3
- package/source/directives/auth/Anyone.ts +13 -0
- package/source/directives/auth/Assert.ts +30 -0
- package/source/directives/auth/Authorization.ts +68 -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 +62 -24
- package/source/directives/auth/Input.ts +72 -0
- package/source/directives/auth/Role.ts +5 -19
- 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 +2 -0
- package/source/directives/auth/split.ts +1 -1
- package/source/directives/auth/types.ts +10 -5
- package/source/directives/cache/Cache.ts +15 -6
- package/source/directives/cache/Control.ts +45 -19
- package/source/directives/cors/CORS.ts +3 -2
- 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/IO.ts +1 -1
- package/source/directives/io/Input.ts +8 -5
- package/source/directives/io/Output.ts +5 -4
- 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 +86 -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 +61 -8
- package/source/directives/octets/workflows/Workflow.ts +17 -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 +3 -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.js +13 -8
- package/transpiled/Directive.js.map +1 -1
- package/transpiled/Endpoint.d.ts +6 -4
- package/transpiled/Endpoint.js +46 -9
- 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 +55 -12
- package/transpiled/Gateway.js.map +1 -1
- package/transpiled/HTTP/Context.d.ts +9 -2
- package/transpiled/HTTP/Context.js +19 -6
- package/transpiled/HTTP/Context.js.map +1 -1
- package/transpiled/HTTP/Server.d.ts +15 -4
- package/transpiled/HTTP/Server.js +86 -42
- package/transpiled/HTTP/Server.js.map +1 -1
- package/transpiled/HTTP/exceptions.d.ts +6 -0
- package/transpiled/HTTP/exceptions.js +13 -1
- package/transpiled/HTTP/exceptions.js.map +1 -1
- package/transpiled/HTTP/formats/index.js +3 -3
- package/transpiled/HTTP/formats/index.js.map +1 -1
- package/transpiled/HTTP/messages.d.ts +2 -1
- package/transpiled/HTTP/messages.js +40 -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 +50 -19
- package/transpiled/Mapping.js.map +1 -1
- package/transpiled/Query.d.ts +10 -1
- package/transpiled/Query.js +87 -30
- package/transpiled/Query.js.map +1 -1
- package/transpiled/RTD/Context.d.ts +1 -1
- 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 +1 -1
- package/transpiled/RTD/Route.js +0 -1
- package/transpiled/RTD/Route.js.map +1 -1
- package/transpiled/RTD/Tree.d.ts +1 -1
- 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/syntax/parse.js +34 -22
- package/transpiled/RTD/syntax/parse.js.map +1 -1
- package/transpiled/RTD/syntax/types.d.ts +5 -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 +28 -20
- 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 +6 -0
- package/transpiled/directives/auth/Assert.js +53 -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 +52 -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 +47 -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 +5 -15
- 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 +1 -0
- package/transpiled/directives/auth/schemes.js +2 -1
- 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 +8 -5
- 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 +3 -2
- package/transpiled/directives/cache/Control.js +32 -15
- package/transpiled/directives/cache/Control.js.map +1 -1
- package/transpiled/directives/cors/CORS.js +3 -2
- 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/IO.js +1 -1
- package/transpiled/directives/io/IO.js.map +1 -1
- package/transpiled/directives/io/Input.js +4 -2
- package/transpiled/directives/io/Input.js.map +1 -1
- package/transpiled/directives/io/Output.js +2 -2
- package/transpiled/directives/io/Output.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} +25 -29
- 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 +6 -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 +9 -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/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.js.map +0 -1
- package/components/identity.federation/source/create.ts +0 -26
- package/components/identity.federation/source/schemas.ts +0 -61
- 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 -69
- package/features/steps/components/octets.tester/operations/diversify.js +0 -14
- package/features/vary.feature +0 -180
- 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 -6
- package/source/directives/vary/Embed.ts +0 -62
- package/source/directives/vary/Vary.ts +0 -48
- package/source/directives/vary/embeddings/Embedding.ts +0 -6
- package/source/directives/vary/embeddings/Header.ts +0 -32
- package/source/directives/vary/embeddings/Language.ts +0 -31
- 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 -5
- package/transpiled/directives/vary/Directive.js.map +0 -1
- package/transpiled/directives/vary/Embed.d.ts +0 -10
- package/transpiled/directives/vary/Embed.js +0 -49
- 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 -5
- 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/index.d.ts +0 -5
- package/transpiled/directives/vary/embeddings/index.js +0 -10
- 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,22 @@ 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
|
|
13
|
+
implicit: true
|
|
14
14
|
"""
|
|
15
15
|
And the IDP token for User is issued
|
|
16
16
|
When the following request is received:
|
|
17
17
|
"""
|
|
18
18
|
GET /identity/ HTTP/1.1
|
|
19
|
+
host: nex.toa.io
|
|
19
20
|
authorization: Bearer ${{ User.id_token }}
|
|
20
21
|
accept: application/yaml
|
|
21
|
-
content-type: application/yaml
|
|
22
22
|
"""
|
|
23
23
|
Then the following reply is sent:
|
|
24
24
|
"""
|
|
@@ -32,6 +32,7 @@ Feature: Identity Federation
|
|
|
32
32
|
When the following request is received:
|
|
33
33
|
"""
|
|
34
34
|
GET /identity/ HTTP/1.1
|
|
35
|
+
host: nex.toa.io
|
|
35
36
|
accept: application/yaml
|
|
36
37
|
authorization: Token ${{ User.token }}
|
|
37
38
|
"""
|
|
@@ -45,6 +46,7 @@ Feature: Identity Federation
|
|
|
45
46
|
When the following request is received:
|
|
46
47
|
"""
|
|
47
48
|
GET /identity/ HTTP/1.1
|
|
49
|
+
host: nex.toa.io
|
|
48
50
|
authorization: Bearer ${{ User.id_token }}
|
|
49
51
|
accept: application/yaml
|
|
50
52
|
"""
|
|
@@ -55,15 +57,15 @@ Feature: Identity Federation
|
|
|
55
57
|
id: ${{ User.id }}
|
|
56
58
|
"""
|
|
57
59
|
|
|
58
|
-
Scenario:
|
|
60
|
+
Scenario: Symmetric tokens
|
|
59
61
|
Given the `identity.federation` configuration:
|
|
60
62
|
"""yaml
|
|
61
|
-
explicit_identity_creation: false
|
|
62
63
|
trust:
|
|
63
|
-
-
|
|
64
|
+
- iss: http://localhost:44444
|
|
64
65
|
secrets:
|
|
65
66
|
HS384:
|
|
66
67
|
k1: the-secret
|
|
68
|
+
implicit: true
|
|
67
69
|
"""
|
|
68
70
|
And the IDP HS384 token for GoodUser is issued with following secret:
|
|
69
71
|
"""
|
|
@@ -72,9 +74,9 @@ Feature: Identity Federation
|
|
|
72
74
|
When the following request is received:
|
|
73
75
|
"""
|
|
74
76
|
GET /identity/ HTTP/1.1
|
|
77
|
+
host: nex.toa.io
|
|
75
78
|
authorization: Bearer ${{ GoodUser.id_token }}
|
|
76
79
|
accept: application/yaml
|
|
77
|
-
content-type: application/yaml
|
|
78
80
|
"""
|
|
79
81
|
Then the following reply is sent:
|
|
80
82
|
"""
|
|
@@ -84,11 +86,11 @@ Feature: Identity Federation
|
|
|
84
86
|
id: ${{ GoodUser.id }}
|
|
85
87
|
"""
|
|
86
88
|
|
|
87
|
-
Scenario: Creating an Identity using inception
|
|
89
|
+
Scenario: Creating an Identity using inception
|
|
88
90
|
Given the `identity.federation` configuration:
|
|
89
91
|
"""yaml
|
|
90
92
|
trust:
|
|
91
|
-
-
|
|
93
|
+
- iss: http://localhost:44444
|
|
92
94
|
"""
|
|
93
95
|
Given the `users` is running with the following manifest:
|
|
94
96
|
"""yaml
|
|
@@ -96,8 +98,8 @@ Feature: Identity Federation
|
|
|
96
98
|
/:
|
|
97
99
|
anonymous: true
|
|
98
100
|
POST:
|
|
99
|
-
io:output:
|
|
100
|
-
incept: id
|
|
101
|
+
io:output: [id]
|
|
102
|
+
auth:incept: id
|
|
101
103
|
endpoint: create
|
|
102
104
|
"""
|
|
103
105
|
And the IDP token for Bill is issued
|
|
@@ -105,6 +107,7 @@ Feature: Identity Federation
|
|
|
105
107
|
# identity inception
|
|
106
108
|
"""
|
|
107
109
|
POST /users/ HTTP/1.1
|
|
110
|
+
host: nex.toa.io
|
|
108
111
|
authorization: Bearer ${{ Bill.id_token }}
|
|
109
112
|
accept: application/yaml
|
|
110
113
|
content-type: application/yaml
|
|
@@ -122,6 +125,7 @@ Feature: Identity Federation
|
|
|
122
125
|
When the following request is received:
|
|
123
126
|
"""
|
|
124
127
|
GET /identity/ HTTP/1.1
|
|
128
|
+
host: nex.toa.io
|
|
125
129
|
authorization: Token ${{ Bill.token }}
|
|
126
130
|
accept: application/yaml
|
|
127
131
|
"""
|
|
@@ -133,20 +137,23 @@ Feature: Identity Federation
|
|
|
133
137
|
When the following request is received:
|
|
134
138
|
"""
|
|
135
139
|
GET /identity/ HTTP/1.1
|
|
140
|
+
host: nex.toa.io
|
|
136
141
|
authorization: Bearer ${{ Bill.id_token }}
|
|
137
142
|
accept: application/yaml
|
|
138
143
|
"""
|
|
139
144
|
Then the following reply is sent:
|
|
140
145
|
"""
|
|
141
146
|
200 OK
|
|
147
|
+
|
|
142
148
|
id: ${{ Bill.id }}
|
|
143
149
|
"""
|
|
144
150
|
And the following request is received:
|
|
145
151
|
# same credentials
|
|
146
152
|
"""
|
|
147
153
|
POST /users/ HTTP/1.1
|
|
154
|
+
host: nex.toa.io
|
|
148
155
|
authorization: Bearer ${{ Bill.id_token }}
|
|
149
|
-
content-type:
|
|
156
|
+
content-type: application/yaml
|
|
150
157
|
|
|
151
158
|
name: Mary Louis
|
|
152
159
|
"""
|
|
@@ -158,22 +165,24 @@ Feature: Identity Federation
|
|
|
158
165
|
Scenario: Granting a `system` role to a Principal
|
|
159
166
|
Given the `identity.federation` configuration:
|
|
160
167
|
"""yaml
|
|
161
|
-
explicit_identity_creation: false
|
|
162
168
|
trust:
|
|
163
|
-
-
|
|
169
|
+
- iss: http://localhost:44444
|
|
164
170
|
principal:
|
|
165
171
|
iss: http://localhost:44444
|
|
166
|
-
sub: root
|
|
172
|
+
sub: root
|
|
173
|
+
implicit: true
|
|
167
174
|
"""
|
|
168
175
|
And the IDP token for root is issued
|
|
176
|
+
|
|
177
|
+
# create an identity
|
|
169
178
|
When the following request is received:
|
|
170
179
|
"""
|
|
171
180
|
GET /identity/ HTTP/1.1
|
|
181
|
+
host: nex.toa.io
|
|
172
182
|
authorization: Bearer ${{ root.id_token }}
|
|
173
183
|
accept: application/yaml
|
|
174
184
|
content-type: application/yaml
|
|
175
185
|
"""
|
|
176
|
-
# create an identity
|
|
177
186
|
Then the following reply is sent:
|
|
178
187
|
"""
|
|
179
188
|
200 OK
|
|
@@ -181,10 +190,14 @@ Feature: Identity Federation
|
|
|
181
190
|
|
|
182
191
|
id: ${{ root.id }}
|
|
183
192
|
"""
|
|
193
|
+
|
|
194
|
+
Then after 0.1 seconds
|
|
195
|
+
|
|
184
196
|
# check the role
|
|
185
197
|
When the following request is received:
|
|
186
198
|
"""
|
|
187
199
|
GET /identity/ HTTP/1.1
|
|
200
|
+
host: nex.toa.io
|
|
188
201
|
accept: application/yaml
|
|
189
202
|
authorization: Token ${{ root.token }}
|
|
190
203
|
"""
|
|
@@ -196,3 +209,97 @@ Feature: Identity Federation
|
|
|
196
209
|
roles:
|
|
197
210
|
- system
|
|
198
211
|
"""
|
|
212
|
+
|
|
213
|
+
Scenario: Adding federation to an existing identity
|
|
214
|
+
Given the `identity.federation` configuration:
|
|
215
|
+
"""yaml
|
|
216
|
+
trust:
|
|
217
|
+
- iss: http://localhost:44444
|
|
218
|
+
"""
|
|
219
|
+
And the `identity.basic` database is empty
|
|
220
|
+
|
|
221
|
+
# create an identity
|
|
222
|
+
When the following request is received:
|
|
223
|
+
"""
|
|
224
|
+
POST /identity/basic/ HTTP/1.1
|
|
225
|
+
host: nex.toa.io
|
|
226
|
+
content-type: application/yaml
|
|
227
|
+
accept: application/yaml
|
|
228
|
+
|
|
229
|
+
username: #{{ id | set Bob.username }}
|
|
230
|
+
password: #{{ password 8 | set Bob.password }}
|
|
231
|
+
"""
|
|
232
|
+
Then the following reply is sent:
|
|
233
|
+
"""
|
|
234
|
+
201 Created
|
|
235
|
+
|
|
236
|
+
id: ${{ Bob.id }}
|
|
237
|
+
"""
|
|
238
|
+
|
|
239
|
+
When the IDP token for Bob is issued
|
|
240
|
+
|
|
241
|
+
# add federation
|
|
242
|
+
When the following request is received:
|
|
243
|
+
"""
|
|
244
|
+
POST /identity/federation/${{ Bob.id }}/ HTTP/1.1
|
|
245
|
+
host: nex.toa.io
|
|
246
|
+
authorization: Basic #{{ basic Bob }}
|
|
247
|
+
content-type: application/yaml
|
|
248
|
+
accept: application/yaml
|
|
249
|
+
|
|
250
|
+
credentials: ${{ Bob.id_token }}
|
|
251
|
+
"""
|
|
252
|
+
Then the following reply is sent:
|
|
253
|
+
"""
|
|
254
|
+
201 Created
|
|
255
|
+
"""
|
|
256
|
+
And the following request is received:
|
|
257
|
+
"""
|
|
258
|
+
GET /identity/ HTTP/1.1
|
|
259
|
+
host: nex.toa.io
|
|
260
|
+
authorization: Bearer ${{ Bob.id_token }}
|
|
261
|
+
accept: application/yaml
|
|
262
|
+
"""
|
|
263
|
+
Then the following reply is sent:
|
|
264
|
+
"""
|
|
265
|
+
200 OK
|
|
266
|
+
|
|
267
|
+
id: ${{ Bob.id }}
|
|
268
|
+
"""
|
|
269
|
+
|
|
270
|
+
Scenario: Tokens with `jti` are one-time
|
|
271
|
+
Given the `identity.federation` configuration:
|
|
272
|
+
"""yaml
|
|
273
|
+
trust:
|
|
274
|
+
- iss: http://localhost:44444
|
|
275
|
+
implicit: true
|
|
276
|
+
"""
|
|
277
|
+
And ID token with jti is issued for User
|
|
278
|
+
When the following request is received:
|
|
279
|
+
"""
|
|
280
|
+
GET /identity/ HTTP/1.1
|
|
281
|
+
host: nex.toa.io
|
|
282
|
+
authorization: Bearer ${{ User.id_token }}
|
|
283
|
+
accept: application/yaml
|
|
284
|
+
"""
|
|
285
|
+
Then the following reply is sent:
|
|
286
|
+
"""
|
|
287
|
+
200 OK
|
|
288
|
+
authorization: Token ${{ User.token }}
|
|
289
|
+
|
|
290
|
+
id: ${{ User.id }}
|
|
291
|
+
roles: []
|
|
292
|
+
"""
|
|
293
|
+
|
|
294
|
+
# second use
|
|
295
|
+
When the following request is received:
|
|
296
|
+
"""
|
|
297
|
+
GET /identity/ HTTP/1.1
|
|
298
|
+
host: nex.toa.io
|
|
299
|
+
authorization: Bearer ${{ User.id_token }}
|
|
300
|
+
accept: application/yaml
|
|
301
|
+
"""
|
|
302
|
+
Then the following reply is sent:
|
|
303
|
+
"""
|
|
304
|
+
401 Unauthorized
|
|
305
|
+
"""
|