@toa.io/extensions.exposition 1.0.0-alpha.15 → 1.0.0-alpha.150

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (740) hide show
  1. package/components/context.toa.yaml +2 -2
  2. package/components/identity.bans/manifest.toa.yaml +1 -1
  3. package/components/identity.bans/operations/tsconfig.tsbuildinfo +1 -1
  4. package/components/identity.basic/manifest.toa.yaml +47 -10
  5. package/components/identity.basic/operations/authenticate.d.ts +5 -1
  6. package/components/identity.basic/operations/authenticate.js +7 -4
  7. package/components/identity.basic/operations/authenticate.js.map +1 -1
  8. package/components/identity.basic/operations/check.d.ts +7 -0
  9. package/components/identity.basic/operations/check.js +15 -0
  10. package/components/identity.basic/operations/check.js.map +1 -0
  11. package/components/identity.basic/operations/incept.d.ts +12 -0
  12. package/components/identity.basic/operations/incept.js +26 -0
  13. package/components/identity.basic/operations/incept.js.map +1 -0
  14. package/components/identity.basic/operations/transit.d.ts +4 -4
  15. package/components/identity.basic/operations/transit.js +8 -6
  16. package/components/identity.basic/operations/transit.js.map +1 -1
  17. package/components/identity.basic/operations/tsconfig.tsbuildinfo +1 -1
  18. package/components/identity.basic/operations/types.d.ts +8 -4
  19. package/components/identity.basic/source/authenticate.ts +18 -7
  20. package/components/identity.basic/source/check.ts +20 -0
  21. package/components/identity.basic/source/incept.ts +38 -0
  22. package/components/identity.basic/source/transit.ts +11 -9
  23. package/components/identity.basic/source/types.ts +8 -4
  24. package/components/identity.federation/manifest.toa.yaml +81 -38
  25. package/components/identity.federation/operations/authenticate.d.ts +16 -3
  26. package/components/identity.federation/operations/authenticate.js +26 -15
  27. package/components/identity.federation/operations/authenticate.js.map +1 -1
  28. package/components/identity.federation/operations/decode.d.ts +3 -0
  29. package/components/identity.federation/operations/decode.js +13 -0
  30. package/components/identity.federation/operations/decode.js.map +1 -0
  31. package/components/identity.federation/operations/incept.d.ts +11 -0
  32. package/components/identity.federation/operations/incept.js +24 -0
  33. package/components/identity.federation/operations/incept.js.map +1 -0
  34. package/components/identity.federation/operations/lib/Configuration.d.ts +39 -0
  35. package/components/identity.federation/operations/lib/Configuration.js +3 -0
  36. package/components/identity.federation/operations/lib/Configuration.js.map +1 -0
  37. package/components/identity.federation/operations/lib/Ctx.d.ts +7 -0
  38. package/{transpiled/directives/vary/embeddings/Embedding.js → components/identity.federation/operations/lib/Ctx.js} +1 -1
  39. package/components/identity.federation/operations/lib/Ctx.js.map +1 -0
  40. package/components/identity.federation/operations/lib/Payload.d.ts +5 -0
  41. package/components/identity.federation/operations/lib/Payload.js +3 -0
  42. package/components/identity.federation/operations/lib/Payload.js.map +1 -0
  43. package/components/identity.federation/operations/lib/decode.d.ts +3 -0
  44. package/components/identity.federation/operations/lib/decode.js +59 -0
  45. package/components/identity.federation/operations/lib/decode.js.map +1 -0
  46. package/components/identity.federation/operations/lib/discovery.d.ts +4 -0
  47. package/components/identity.federation/operations/lib/{assertions-as-values.js → discovery.js} +23 -19
  48. package/components/identity.federation/operations/lib/discovery.js.map +1 -0
  49. package/components/identity.federation/operations/lib/errors.d.ts +11 -0
  50. package/components/identity.federation/operations/lib/errors.js +15 -0
  51. package/components/identity.federation/operations/lib/errors.js.map +1 -0
  52. package/components/identity.federation/operations/lib/exchange.d.ts +3 -0
  53. package/components/identity.federation/operations/lib/exchange.js +107 -0
  54. package/components/identity.federation/operations/lib/exchange.js.map +1 -0
  55. package/components/identity.federation/operations/lib/index.d.ts +3 -0
  56. package/components/identity.federation/operations/lib/index.js +8 -0
  57. package/components/identity.federation/operations/lib/index.js.map +1 -0
  58. package/components/identity.federation/operations/tsconfig.tsbuildinfo +1 -1
  59. package/components/identity.federation/operations/types/Scheme.d.ts +1 -0
  60. package/components/identity.federation/operations/types/Scheme.js +3 -0
  61. package/components/identity.federation/operations/types/Scheme.js.map +1 -0
  62. package/components/identity.federation/operations/types/configuration.d.ts +20 -0
  63. package/components/identity.federation/operations/types/configuration.js +3 -0
  64. package/components/identity.federation/operations/types/configuration.js.map +1 -0
  65. package/components/identity.federation/operations/types/context.d.ts +37 -0
  66. package/components/identity.federation/operations/types/context.js +3 -0
  67. package/components/identity.federation/operations/types/context.js.map +1 -0
  68. package/components/identity.federation/operations/types/entity.d.ts +6 -0
  69. package/components/identity.federation/operations/types/entity.js +3 -0
  70. package/components/identity.federation/operations/types/entity.js.map +1 -0
  71. package/components/identity.federation/operations/types/index.d.ts +4 -0
  72. package/components/identity.federation/operations/types/index.js +21 -0
  73. package/components/identity.federation/operations/types/index.js.map +1 -0
  74. package/components/identity.federation/source/authenticate.ts +45 -19
  75. package/components/identity.federation/source/decode.ts +11 -0
  76. package/components/identity.federation/source/incept.ts +38 -0
  77. package/components/identity.federation/source/lib/Configuration.ts +39 -0
  78. package/components/identity.federation/source/lib/Ctx.ts +8 -0
  79. package/components/identity.federation/source/lib/Payload.ts +6 -0
  80. package/components/identity.federation/source/lib/decode.ts +48 -0
  81. package/components/identity.federation/source/lib/discovery.ts +30 -0
  82. package/components/identity.federation/source/lib/errors.ts +12 -0
  83. package/components/identity.federation/source/lib/exchange.ts +116 -0
  84. package/components/identity.federation/source/lib/index.ts +3 -0
  85. package/components/identity.federation/source/types/Scheme.ts +1 -0
  86. package/components/identity.federation/source/types/configuration.ts +21 -0
  87. package/components/identity.federation/source/types/context.ts +42 -0
  88. package/components/identity.federation/source/types/entity.ts +6 -0
  89. package/components/identity.federation/source/types/index.ts +4 -0
  90. package/components/identity.federation/tsconfig.json +5 -4
  91. package/components/identity.keys/manifest.toa.yaml +57 -0
  92. package/components/identity.keys/operations/create.d.ts +22 -0
  93. package/components/identity.keys/operations/create.js +16 -0
  94. package/components/identity.keys/operations/create.js.map +1 -0
  95. package/components/identity.keys/operations/tsconfig.tsbuildinfo +1 -0
  96. package/components/identity.keys/source/create.ts +35 -0
  97. package/components/identity.keys/tsconfig.json +9 -0
  98. package/components/identity.otp/manifest.toa.yaml +39 -0
  99. package/components/identity.otp/operations/authenticate.d.ts +12 -0
  100. package/components/identity.otp/operations/authenticate.js +30 -0
  101. package/components/identity.otp/operations/authenticate.js.map +1 -0
  102. package/components/identity.otp/operations/issue.d.ts +10 -0
  103. package/components/identity.otp/operations/issue.js +13 -0
  104. package/components/identity.otp/operations/issue.js.map +1 -0
  105. package/components/identity.otp/operations/lib/Context.d.ts +13 -0
  106. package/components/identity.otp/operations/lib/Context.js +3 -0
  107. package/components/identity.otp/operations/lib/Context.js.map +1 -0
  108. package/components/identity.otp/operations/lib/Entity.d.ts +5 -0
  109. package/components/identity.otp/operations/lib/Entity.js +3 -0
  110. package/components/identity.otp/operations/lib/Entity.js.map +1 -0
  111. package/components/identity.otp/operations/lib/index.d.ts +1 -0
  112. package/components/identity.otp/operations/lib/index.js +3 -0
  113. package/components/identity.otp/operations/lib/index.js.map +1 -0
  114. package/components/identity.otp/operations/tsconfig.tsbuildinfo +1 -0
  115. package/components/identity.otp/source/authenticate.ts +46 -0
  116. package/components/identity.otp/source/issue.ts +22 -0
  117. package/components/identity.otp/source/lib/Context.ts +14 -0
  118. package/components/identity.otp/source/lib/Entity.ts +5 -0
  119. package/components/identity.otp/source/lib/index.ts +1 -0
  120. package/components/identity.otp/tsconfig.json +9 -0
  121. package/components/identity.passkeys/manifest.toa.yaml +268 -0
  122. package/components/identity.passkeys/operations/authenticate.d.ts +16 -0
  123. package/components/identity.passkeys/operations/authenticate.js +34 -0
  124. package/components/identity.passkeys/operations/authenticate.js.map +1 -0
  125. package/components/identity.passkeys/operations/challenge.d.ts +35 -0
  126. package/components/identity.passkeys/operations/challenge.js +73 -0
  127. package/components/identity.passkeys/operations/challenge.js.map +1 -0
  128. package/components/identity.passkeys/operations/create.d.ts +19 -0
  129. package/components/identity.passkeys/operations/create.js +58 -0
  130. package/components/identity.passkeys/operations/create.js.map +1 -0
  131. package/components/identity.passkeys/operations/delete.d.ts +8 -0
  132. package/components/identity.passkeys/operations/delete.js +12 -0
  133. package/components/identity.passkeys/operations/delete.js.map +1 -0
  134. package/components/identity.passkeys/operations/lib/const.d.ts +1 -0
  135. package/components/identity.passkeys/operations/lib/const.js +5 -0
  136. package/components/identity.passkeys/operations/lib/const.js.map +1 -0
  137. package/components/identity.passkeys/operations/list.d.ts +7 -0
  138. package/components/identity.passkeys/operations/list.js +15 -0
  139. package/components/identity.passkeys/operations/list.js.map +1 -0
  140. package/components/identity.passkeys/operations/tsconfig.tsbuildinfo +1 -0
  141. package/components/identity.passkeys/operations/types/Configuration.d.ts +6 -0
  142. package/components/identity.passkeys/operations/types/Configuration.js +3 -0
  143. package/components/identity.passkeys/operations/types/Configuration.js.map +1 -0
  144. package/components/identity.passkeys/operations/types/Context.d.ts +15 -0
  145. package/components/identity.passkeys/operations/types/Context.js +3 -0
  146. package/components/identity.passkeys/operations/types/Context.js.map +1 -0
  147. package/components/identity.passkeys/operations/types/Passkey.d.ts +13 -0
  148. package/components/identity.passkeys/operations/types/Passkey.js +3 -0
  149. package/components/identity.passkeys/operations/types/Passkey.js.map +1 -0
  150. package/components/identity.passkeys/operations/types/index.d.ts +2 -0
  151. package/components/identity.passkeys/operations/types/index.js +3 -0
  152. package/components/identity.passkeys/operations/types/index.js.map +1 -0
  153. package/components/identity.passkeys/operations/use.d.ts +16 -0
  154. package/components/identity.passkeys/operations/use.js +57 -0
  155. package/components/identity.passkeys/operations/use.js.map +1 -0
  156. package/components/identity.passkeys/source/authenticate.ts +48 -0
  157. package/components/identity.passkeys/source/challenge.ts +115 -0
  158. package/components/identity.passkeys/source/create.ts +77 -0
  159. package/components/identity.passkeys/source/delete.ts +15 -0
  160. package/components/identity.passkeys/source/lib/const.ts +1 -0
  161. package/components/identity.passkeys/source/list.ts +17 -0
  162. package/components/identity.passkeys/source/types/Configuration.ts +6 -0
  163. package/components/identity.passkeys/source/types/Context.ts +16 -0
  164. package/components/identity.passkeys/source/types/Passkey.ts +14 -0
  165. package/components/identity.passkeys/source/types/index.ts +2 -0
  166. package/components/identity.passkeys/source/use.ts +75 -0
  167. package/components/identity.passkeys/tsconfig.json +9 -0
  168. package/components/identity.roles/manifest.toa.yaml +3 -1
  169. package/components/identity.roles/operations/grant.js +2 -2
  170. package/components/identity.roles/operations/grant.js.map +1 -1
  171. package/components/identity.roles/operations/tsconfig.tsbuildinfo +1 -1
  172. package/components/identity.roles/source/grant.ts +2 -2
  173. package/components/identity.tokens/manifest.toa.yaml +97 -13
  174. package/components/identity.tokens/operations/authenticate.d.ts +3 -3
  175. package/components/identity.tokens/operations/authenticate.js +15 -11
  176. package/components/identity.tokens/operations/authenticate.js.map +1 -1
  177. package/components/identity.tokens/operations/decrypt.d.ts +12 -3
  178. package/components/identity.tokens/operations/decrypt.js +62 -17
  179. package/components/identity.tokens/operations/decrypt.js.map +1 -1
  180. package/components/identity.tokens/operations/encrypt.d.ts +3 -3
  181. package/components/identity.tokens/operations/encrypt.js +24 -7
  182. package/components/identity.tokens/operations/encrypt.js.map +1 -1
  183. package/components/identity.tokens/operations/issue.d.ts +24 -0
  184. package/components/identity.tokens/operations/issue.js +59 -0
  185. package/components/identity.tokens/operations/issue.js.map +1 -0
  186. package/components/identity.tokens/operations/lib/index.d.ts +2 -0
  187. package/components/identity.tokens/operations/lib/index.js +19 -0
  188. package/components/identity.tokens/operations/lib/index.js.map +1 -0
  189. package/components/identity.tokens/operations/lib/pad.d.ts +1 -0
  190. package/components/identity.tokens/operations/lib/pad.js +5 -0
  191. package/components/identity.tokens/operations/lib/pad.js.map +1 -0
  192. package/components/identity.tokens/operations/lib/types.d.ts +74 -0
  193. package/components/identity.tokens/operations/lib/types.js.map +1 -0
  194. package/components/identity.tokens/operations/revoke.d.ts +2 -2
  195. package/components/identity.tokens/operations/revoke.js.map +1 -1
  196. package/components/identity.tokens/operations/tsconfig.tsbuildinfo +1 -1
  197. package/components/identity.tokens/source/authenticate.test.ts +22 -9
  198. package/components/identity.tokens/source/authenticate.ts +18 -13
  199. package/components/identity.tokens/source/decrypt.test.ts +33 -18
  200. package/components/identity.tokens/source/decrypt.ts +91 -20
  201. package/components/identity.tokens/source/encrypt.test.ts +47 -13
  202. package/components/identity.tokens/source/encrypt.ts +36 -11
  203. package/components/identity.tokens/source/issue.ts +82 -0
  204. package/components/identity.tokens/source/lib/index.ts +2 -0
  205. package/components/identity.tokens/source/lib/pad.ts +1 -0
  206. package/components/identity.tokens/source/lib/paseto.test.ts +16 -0
  207. package/components/identity.tokens/source/lib/types.ts +85 -0
  208. package/components/identity.tokens/source/revoke.ts +2 -2
  209. package/components/octets.storage/manifest.toa.yaml +11 -11
  210. package/components/octets.storage/operations/get.js +3 -3
  211. package/components/octets.storage/operations/head.js +7 -0
  212. package/components/octets.storage/operations/put.js +135 -0
  213. package/documentation/access.md +83 -31
  214. package/documentation/authorities.md +48 -0
  215. package/documentation/cache.md +8 -1
  216. package/documentation/components.md +123 -51
  217. package/documentation/dev.md +30 -0
  218. package/documentation/flow.md +44 -0
  219. package/documentation/identity.md +129 -24
  220. package/documentation/introspection.md +82 -0
  221. package/documentation/map.md +86 -0
  222. package/documentation/octets.md +122 -69
  223. package/documentation/passkeys.md +4 -0
  224. package/documentation/protocol.md +11 -4
  225. package/documentation/query.md +29 -4
  226. package/documentation/require.md +15 -0
  227. package/documentation/tree.md +13 -0
  228. package/features/access.feature +122 -9
  229. package/features/annotation.feature +1 -0
  230. package/features/auth.assert.feature +57 -0
  231. package/features/auth.claims.feature +170 -0
  232. package/features/auth.incept.feature +120 -0
  233. package/features/auth.input.feature +59 -0
  234. package/features/auth.issue.feature +32 -0
  235. package/features/authorities.basic.feature +141 -0
  236. package/features/authorities.feature +32 -0
  237. package/features/authorities.federation.feature +99 -0
  238. package/features/authorities.tokens.feature +117 -0
  239. package/features/body.feature +2 -0
  240. package/features/cache.feature +164 -5
  241. package/features/cors.feature +8 -2
  242. package/features/debug.feature +34 -0
  243. package/features/dev.feature +56 -0
  244. package/features/directives.feature +3 -0
  245. package/features/dynamic.feature +48 -0
  246. package/features/errors.feature +29 -6
  247. package/features/etag.feature +109 -1
  248. package/features/flow.feature +148 -0
  249. package/features/identity.bans.feature +12 -3
  250. package/features/identity.basic.feature +104 -21
  251. package/features/identity.feature +18 -6
  252. package/features/identity.federation.feature +170 -44
  253. package/features/identity.otp.feature +71 -0
  254. package/features/identity.roles.feature +60 -20
  255. package/features/identity.tokens.feature +12 -44
  256. package/features/identtiy.tokens.custom.feature +247 -0
  257. package/features/interruptions.feature +19 -0
  258. package/features/introspection.feature +153 -0
  259. package/features/io.feature +9 -1
  260. package/features/map.feature +304 -0
  261. package/features/methods.feature +47 -0
  262. package/features/octets.cloudinary.feature +71 -0
  263. package/features/octets.download.feature +189 -0
  264. package/features/octets.entries.feature +13 -55
  265. package/features/octets.feature +90 -114
  266. package/features/octets.head.feature +40 -0
  267. package/features/octets.location.feature +83 -0
  268. package/features/octets.meta.feature +65 -15
  269. package/features/octets.workflows.feature +339 -66
  270. package/features/passkeys.feature +66 -0
  271. package/features/probes.feature +14 -0
  272. package/features/{queries.feature → query.feature} +77 -2
  273. package/features/realtime.feature +34 -0
  274. package/features/require.feature +67 -0
  275. package/features/response.feature +34 -2
  276. package/features/routes.feature +93 -2
  277. package/features/server.feature +21 -0
  278. package/features/steps/.env.example +3 -0
  279. package/features/steps/Common.ts +4 -0
  280. package/features/steps/Gateway.ts +26 -7
  281. package/features/steps/HTTP.ts +25 -2
  282. package/features/steps/IDP.ts +334 -0
  283. package/features/steps/Identity.ts +51 -0
  284. package/features/steps/OTP.ts +39 -0
  285. package/features/steps/Parameters.ts +45 -2
  286. package/features/steps/Realtime.ts +151 -0
  287. package/features/steps/components/echo/manifest.toa.yaml +12 -0
  288. package/features/steps/components/echo/operations/echo.js +7 -0
  289. package/features/steps/components/echo/operations/parameters.js +7 -0
  290. package/features/steps/components/echo/operations/ping.js +7 -0
  291. package/features/steps/components/echo.beacon/manifest.toa.yaml +2 -0
  292. package/features/steps/components/echo.beacon/operations/hello.js +5 -0
  293. package/features/steps/components/greeter/manifest.toa.yaml +0 -1
  294. package/features/steps/components/octets.tester/manifest.toa.yaml +25 -3
  295. package/features/steps/components/octets.tester/operations/authority.js +7 -0
  296. package/features/steps/components/octets.tester/operations/bar.js +0 -1
  297. package/features/steps/components/octets.tester/operations/baz.js +0 -2
  298. package/features/steps/components/octets.tester/operations/echo.js +1 -1
  299. package/features/steps/components/octets.tester/operations/foo.js +1 -2
  300. package/features/steps/components/octets.tester/operations/id.js +7 -0
  301. package/features/steps/components/octets.tester/operations/identity.js +7 -0
  302. package/features/steps/components/octets.tester/operations/redirect.js +12 -0
  303. package/features/steps/components/octets.tester/operations/yex.js +16 -0
  304. package/features/steps/components/octets.tester/operations/yield.js +13 -0
  305. package/features/steps/components/pots/manifest.toa.yaml +12 -4
  306. package/features/steps/components/sequences/manifest.toa.yaml +0 -1
  307. package/features/steps/components/users/manifest.toa.yaml +4 -2
  308. package/features/steps/components/users/operations/create.js +15 -0
  309. package/features/steps/components/users.properties/manifest.toa.yaml +1 -2
  310. package/features/streams.feature +5 -0
  311. package/features/timestamps.feature +41 -0
  312. package/features/timing.feature +4 -1
  313. package/package.json +28 -17
  314. package/readme.md +19 -14
  315. package/schemas/annotation.cos.yaml +1 -1
  316. package/schemas/method.cos.yaml +2 -1
  317. package/schemas/node.cos.yaml +2 -0
  318. package/schemas/octets/put.cos.yaml +28 -0
  319. package/schemas/query.cos.yaml +4 -10
  320. package/source/Annotation.ts +3 -3
  321. package/source/Branch.ts +1 -0
  322. package/source/Composition.ts +0 -6
  323. package/source/Context.ts +1 -0
  324. package/source/Directive.test.ts +1 -1
  325. package/source/Directive.ts +14 -8
  326. package/source/Endpoint.ts +70 -17
  327. package/source/Factory.ts +22 -13
  328. package/source/Gateway.ts +73 -19
  329. package/source/HTTP/Context.ts +29 -7
  330. package/source/HTTP/Server.ts +120 -49
  331. package/source/HTTP/exceptions.ts +12 -0
  332. package/source/HTTP/formats/index.ts +3 -3
  333. package/source/HTTP/messages.test.ts +46 -2
  334. package/source/HTTP/messages.ts +44 -9
  335. package/source/Introspection.ts +11 -0
  336. package/source/Mapping.ts +68 -21
  337. package/source/Query.test.ts +3 -3
  338. package/source/Query.ts +123 -33
  339. package/source/RTD/Context.ts +1 -1
  340. package/source/RTD/Endpoint.ts +3 -0
  341. package/source/RTD/Method.ts +16 -0
  342. package/source/RTD/Node.ts +29 -13
  343. package/source/RTD/Route.ts +5 -4
  344. package/source/RTD/Tree.ts +2 -2
  345. package/source/RTD/factory.ts +4 -1
  346. package/source/RTD/syntax/parse.test.ts +1 -1
  347. package/source/RTD/syntax/parse.ts +37 -24
  348. package/source/RTD/syntax/types.ts +6 -4
  349. package/source/Remotes.ts +7 -6
  350. package/source/Tenant.ts +6 -12
  351. package/source/deployment.ts +33 -23
  352. package/source/directives/auth/Anonymous.ts +3 -3
  353. package/source/directives/auth/Anyone.ts +13 -0
  354. package/source/directives/auth/Assert.ts +35 -0
  355. package/source/directives/auth/Authorization.ts +70 -27
  356. package/source/directives/auth/Delegate.ts +9 -5
  357. package/source/directives/auth/Echo.ts +16 -6
  358. package/source/directives/auth/Federation.ts +84 -0
  359. package/source/directives/auth/Id.ts +1 -1
  360. package/source/directives/auth/Incept.ts +62 -24
  361. package/source/directives/auth/Input.ts +72 -0
  362. package/source/directives/auth/Role.ts +5 -9
  363. package/source/directives/auth/Rule.ts +3 -5
  364. package/source/directives/auth/Scheme.ts +5 -5
  365. package/source/directives/auth/create.ts +11 -0
  366. package/source/directives/auth/schemes.ts +5 -2
  367. package/source/directives/auth/split.ts +1 -1
  368. package/source/directives/auth/types.ts +12 -7
  369. package/source/directives/cache/Cache.ts +15 -6
  370. package/source/directives/cache/Control.ts +45 -19
  371. package/source/directives/cors/CORS.ts +3 -2
  372. package/source/directives/dev/Development.ts +12 -7
  373. package/source/directives/dev/Sleep.ts +40 -0
  374. package/source/directives/dev/types.ts +1 -1
  375. package/source/directives/flow/Compose.ts +92 -0
  376. package/source/directives/flow/Fetch.ts +86 -0
  377. package/source/directives/flow/Flow.ts +42 -0
  378. package/source/directives/flow/index.ts +3 -0
  379. package/source/directives/flow/types.ts +7 -0
  380. package/source/directives/index.ts +4 -2
  381. package/source/directives/io/IO.ts +1 -1
  382. package/source/directives/io/Input.ts +8 -5
  383. package/source/directives/io/Output.ts +5 -4
  384. package/source/directives/map/Authority.ts +15 -0
  385. package/source/directives/map/Claims.ts +58 -0
  386. package/source/directives/map/Directive.ts +4 -0
  387. package/source/directives/map/Headers.ts +38 -0
  388. package/source/directives/map/Language.ts +42 -0
  389. package/source/directives/map/Languages.ts +11 -0
  390. package/source/directives/map/Map.ts +61 -0
  391. package/source/directives/map/Mapping.ts +19 -0
  392. package/source/directives/{vary → map}/Properties.ts +2 -4
  393. package/source/directives/map/Segments.ts +33 -0
  394. package/source/directives/map/index.ts +3 -0
  395. package/source/directives/octets/Context.ts +3 -2
  396. package/source/directives/octets/Delete.ts +21 -17
  397. package/source/directives/octets/Get.ts +86 -0
  398. package/source/directives/octets/Octets.ts +9 -12
  399. package/source/directives/octets/{Store.ts → Put.ts} +52 -38
  400. package/source/directives/octets/Workflow.ts +9 -3
  401. package/source/directives/octets/bytes.test.ts +30 -0
  402. package/source/directives/octets/bytes.ts +18 -0
  403. package/source/directives/octets/schemas.ts +4 -8
  404. package/source/directives/octets/types.ts +2 -0
  405. package/source/directives/octets/workflows/Execution.ts +61 -8
  406. package/source/directives/octets/workflows/Workflow.ts +17 -7
  407. package/source/directives/octets/workflows/index.ts +1 -1
  408. package/source/directives/require/Directive.ts +5 -0
  409. package/source/directives/require/Headers.ts +20 -0
  410. package/source/directives/require/Require.ts +28 -0
  411. package/source/directives/require/index.ts +3 -0
  412. package/source/exceptions.ts +2 -1
  413. package/source/manifest.ts +10 -11
  414. package/source/root.ts +16 -1
  415. package/source/schemas.ts +1 -1
  416. package/transpiled/Annotation.d.ts +3 -3
  417. package/transpiled/Branch.d.ts +1 -0
  418. package/transpiled/Composition.d.ts +0 -1
  419. package/transpiled/Composition.js +0 -4
  420. package/transpiled/Composition.js.map +1 -1
  421. package/transpiled/Context.d.ts +1 -0
  422. package/transpiled/Directive.js +13 -8
  423. package/transpiled/Directive.js.map +1 -1
  424. package/transpiled/Endpoint.d.ts +6 -4
  425. package/transpiled/Endpoint.js +46 -9
  426. package/transpiled/Endpoint.js.map +1 -1
  427. package/transpiled/Factory.d.ts +3 -2
  428. package/transpiled/Factory.js +18 -10
  429. package/transpiled/Factory.js.map +1 -1
  430. package/transpiled/Gateway.d.ts +3 -0
  431. package/transpiled/Gateway.js +55 -12
  432. package/transpiled/Gateway.js.map +1 -1
  433. package/transpiled/HTTP/Context.d.ts +9 -2
  434. package/transpiled/HTTP/Context.js +19 -6
  435. package/transpiled/HTTP/Context.js.map +1 -1
  436. package/transpiled/HTTP/Server.d.ts +15 -4
  437. package/transpiled/HTTP/Server.js +87 -42
  438. package/transpiled/HTTP/Server.js.map +1 -1
  439. package/transpiled/HTTP/exceptions.d.ts +6 -0
  440. package/transpiled/HTTP/exceptions.js +13 -1
  441. package/transpiled/HTTP/exceptions.js.map +1 -1
  442. package/transpiled/HTTP/formats/index.js +3 -3
  443. package/transpiled/HTTP/formats/index.js.map +1 -1
  444. package/transpiled/HTTP/messages.d.ts +2 -1
  445. package/transpiled/HTTP/messages.js +40 -8
  446. package/transpiled/HTTP/messages.js.map +1 -1
  447. package/transpiled/Introspection.d.ts +9 -0
  448. package/transpiled/Introspection.js +3 -0
  449. package/transpiled/Introspection.js.map +1 -0
  450. package/transpiled/Mapping.d.ts +11 -2
  451. package/transpiled/Mapping.js +50 -19
  452. package/transpiled/Mapping.js.map +1 -1
  453. package/transpiled/Query.d.ts +10 -1
  454. package/transpiled/Query.js +87 -30
  455. package/transpiled/Query.js.map +1 -1
  456. package/transpiled/RTD/Context.d.ts +1 -1
  457. package/transpiled/RTD/Endpoint.d.ts +1 -0
  458. package/transpiled/RTD/Method.d.ts +4 -0
  459. package/transpiled/RTD/Method.js +11 -0
  460. package/transpiled/RTD/Method.js.map +1 -1
  461. package/transpiled/RTD/Node.d.ts +4 -1
  462. package/transpiled/RTD/Node.js +23 -12
  463. package/transpiled/RTD/Node.js.map +1 -1
  464. package/transpiled/RTD/Route.d.ts +1 -1
  465. package/transpiled/RTD/Route.js +0 -1
  466. package/transpiled/RTD/Route.js.map +1 -1
  467. package/transpiled/RTD/Tree.d.ts +1 -1
  468. package/transpiled/RTD/Tree.js.map +1 -1
  469. package/transpiled/RTD/factory.js +4 -1
  470. package/transpiled/RTD/factory.js.map +1 -1
  471. package/transpiled/RTD/syntax/parse.js +34 -22
  472. package/transpiled/RTD/syntax/parse.js.map +1 -1
  473. package/transpiled/RTD/syntax/types.d.ts +5 -3
  474. package/transpiled/RTD/syntax/types.js +1 -1
  475. package/transpiled/RTD/syntax/types.js.map +1 -1
  476. package/transpiled/Remotes.d.ts +4 -4
  477. package/transpiled/Remotes.js +6 -5
  478. package/transpiled/Remotes.js.map +1 -1
  479. package/transpiled/Tenant.d.ts +5 -4
  480. package/transpiled/Tenant.js +2 -7
  481. package/transpiled/Tenant.js.map +1 -1
  482. package/transpiled/deployment.d.ts +1 -1
  483. package/transpiled/deployment.js +28 -20
  484. package/transpiled/deployment.js.map +1 -1
  485. package/transpiled/directives/auth/Anonymous.d.ts +2 -2
  486. package/transpiled/directives/auth/Anonymous.js +2 -2
  487. package/transpiled/directives/auth/Anonymous.js.map +1 -1
  488. package/transpiled/directives/auth/Anyone.d.ts +6 -0
  489. package/transpiled/directives/auth/Anyone.js +14 -0
  490. package/transpiled/directives/auth/Anyone.js.map +1 -0
  491. package/transpiled/directives/auth/Assert.d.ts +7 -0
  492. package/transpiled/directives/auth/Assert.js +57 -0
  493. package/transpiled/directives/auth/Assert.js.map +1 -0
  494. package/transpiled/directives/auth/Authorization.d.ts +4 -3
  495. package/transpiled/directives/auth/Authorization.js +54 -24
  496. package/transpiled/directives/auth/Authorization.js.map +1 -1
  497. package/transpiled/directives/auth/Delegate.d.ts +5 -4
  498. package/transpiled/directives/auth/Delegate.js +7 -3
  499. package/transpiled/directives/auth/Delegate.js.map +1 -1
  500. package/transpiled/directives/auth/Echo.d.ts +4 -4
  501. package/transpiled/directives/auth/Echo.js +11 -4
  502. package/transpiled/directives/auth/Echo.js.map +1 -1
  503. package/transpiled/directives/auth/Federation.d.ts +16 -0
  504. package/transpiled/directives/auth/Federation.js +57 -0
  505. package/transpiled/directives/auth/Federation.js.map +1 -0
  506. package/transpiled/directives/auth/Id.d.ts +1 -1
  507. package/transpiled/directives/auth/Id.js.map +1 -1
  508. package/transpiled/directives/auth/Incept.d.ts +7 -5
  509. package/transpiled/directives/auth/Incept.js +47 -18
  510. package/transpiled/directives/auth/Incept.js.map +1 -1
  511. package/transpiled/directives/auth/Input.d.ts +13 -0
  512. package/transpiled/directives/auth/Input.js +49 -0
  513. package/transpiled/directives/auth/Input.js.map +1 -0
  514. package/transpiled/directives/auth/Role.d.ts +1 -1
  515. package/transpiled/directives/auth/Role.js +4 -6
  516. package/transpiled/directives/auth/Role.js.map +1 -1
  517. package/transpiled/directives/auth/Rule.d.ts +2 -4
  518. package/transpiled/directives/auth/Rule.js +2 -2
  519. package/transpiled/directives/auth/Rule.js.map +1 -1
  520. package/transpiled/directives/auth/Scheme.d.ts +2 -2
  521. package/transpiled/directives/auth/Scheme.js +4 -4
  522. package/transpiled/directives/auth/Scheme.js.map +1 -1
  523. package/transpiled/directives/auth/create.d.ts +2 -0
  524. package/transpiled/directives/auth/create.js +14 -0
  525. package/transpiled/directives/auth/create.js.map +1 -0
  526. package/transpiled/directives/auth/schemes.d.ts +2 -1
  527. package/transpiled/directives/auth/schemes.js +5 -2
  528. package/transpiled/directives/auth/schemes.js.map +1 -1
  529. package/transpiled/directives/auth/split.js +1 -1
  530. package/transpiled/directives/auth/split.js.map +1 -1
  531. package/transpiled/directives/auth/types.d.ts +10 -7
  532. package/transpiled/directives/cache/Cache.d.ts +3 -3
  533. package/transpiled/directives/cache/Cache.js +12 -4
  534. package/transpiled/directives/cache/Cache.js.map +1 -1
  535. package/transpiled/directives/cache/Control.d.ts +3 -2
  536. package/transpiled/directives/cache/Control.js +32 -15
  537. package/transpiled/directives/cache/Control.js.map +1 -1
  538. package/transpiled/directives/cors/CORS.js +3 -2
  539. package/transpiled/directives/cors/CORS.js.map +1 -1
  540. package/transpiled/directives/dev/Development.d.ts +1 -1
  541. package/transpiled/directives/dev/Development.js +13 -7
  542. package/transpiled/directives/dev/Development.js.map +1 -1
  543. package/transpiled/directives/dev/Sleep.d.ts +8 -0
  544. package/transpiled/directives/dev/Sleep.js +36 -0
  545. package/transpiled/directives/dev/Sleep.js.map +1 -0
  546. package/transpiled/directives/dev/types.d.ts +1 -1
  547. package/transpiled/directives/flow/Compose.d.ts +9 -0
  548. package/transpiled/directives/flow/Compose.js +94 -0
  549. package/transpiled/directives/flow/Compose.js.map +1 -0
  550. package/transpiled/directives/flow/Fetch.d.ts +12 -0
  551. package/transpiled/directives/flow/Fetch.js +58 -0
  552. package/transpiled/directives/flow/Fetch.js.map +1 -0
  553. package/transpiled/directives/flow/Flow.d.ts +10 -0
  554. package/transpiled/directives/flow/Flow.js +33 -0
  555. package/transpiled/directives/flow/Flow.js.map +1 -0
  556. package/transpiled/directives/flow/index.d.ts +2 -0
  557. package/transpiled/directives/flow/index.js +6 -0
  558. package/transpiled/directives/flow/index.js.map +1 -0
  559. package/transpiled/directives/flow/types.d.ts +6 -0
  560. package/transpiled/directives/flow/types.js.map +1 -0
  561. package/transpiled/directives/index.js +4 -2
  562. package/transpiled/directives/index.js.map +1 -1
  563. package/transpiled/directives/io/IO.js +1 -1
  564. package/transpiled/directives/io/IO.js.map +1 -1
  565. package/transpiled/directives/io/Input.js +4 -2
  566. package/transpiled/directives/io/Input.js.map +1 -1
  567. package/transpiled/directives/io/Output.js +2 -2
  568. package/transpiled/directives/io/Output.js.map +1 -1
  569. package/transpiled/directives/map/Authority.d.ts +6 -0
  570. package/transpiled/directives/map/Authority.js +19 -0
  571. package/transpiled/directives/map/Authority.js.map +1 -0
  572. package/transpiled/directives/map/Claims.d.ts +10 -0
  573. package/transpiled/directives/map/Claims.js +44 -0
  574. package/transpiled/directives/map/Claims.js.map +1 -0
  575. package/transpiled/directives/map/Directive.d.ts +3 -0
  576. package/transpiled/directives/map/Directive.js.map +1 -0
  577. package/transpiled/directives/map/Headers.d.ts +7 -0
  578. package/transpiled/directives/map/Headers.js +34 -0
  579. package/transpiled/directives/map/Headers.js.map +1 -0
  580. package/transpiled/directives/map/Language.d.ts +10 -0
  581. package/transpiled/directives/map/Language.js +38 -0
  582. package/transpiled/directives/map/Language.js.map +1 -0
  583. package/transpiled/directives/map/Languages.d.ts +4 -0
  584. package/transpiled/directives/map/Languages.js +17 -0
  585. package/transpiled/directives/map/Languages.js.map +1 -0
  586. package/transpiled/directives/map/Map.d.ts +13 -0
  587. package/transpiled/directives/map/Map.js +46 -0
  588. package/transpiled/directives/map/Map.js.map +1 -0
  589. package/transpiled/directives/map/Mapping.d.ts +13 -0
  590. package/transpiled/directives/map/Mapping.js +13 -0
  591. package/transpiled/directives/map/Mapping.js.map +1 -0
  592. package/transpiled/directives/{vary → map}/Properties.d.ts +2 -2
  593. package/transpiled/directives/{vary → map}/Properties.js +1 -3
  594. package/transpiled/directives/map/Properties.js.map +1 -0
  595. package/transpiled/directives/map/Segments.d.ts +6 -0
  596. package/transpiled/directives/map/Segments.js +30 -0
  597. package/transpiled/directives/map/Segments.js.map +1 -0
  598. package/transpiled/directives/map/index.d.ts +2 -0
  599. package/transpiled/directives/map/index.js +6 -0
  600. package/transpiled/directives/map/index.js.map +1 -0
  601. package/transpiled/directives/octets/Context.js +4 -24
  602. package/transpiled/directives/octets/Context.js.map +1 -1
  603. package/transpiled/directives/octets/Delete.js +15 -12
  604. package/transpiled/directives/octets/Delete.js.map +1 -1
  605. package/transpiled/directives/octets/{Fetch.d.ts → Get.d.ts} +5 -6
  606. package/transpiled/directives/octets/{Fetch.js → Get.js} +25 -29
  607. package/transpiled/directives/octets/Get.js.map +1 -0
  608. package/transpiled/directives/octets/Octets.js +9 -12
  609. package/transpiled/directives/octets/Octets.js.map +1 -1
  610. package/transpiled/directives/octets/{Store.d.ts → Put.d.ts} +8 -2
  611. package/transpiled/directives/octets/{Store.js → Put.js} +33 -27
  612. package/transpiled/directives/octets/Put.js.map +1 -0
  613. package/transpiled/directives/octets/Workflow.js +7 -2
  614. package/transpiled/directives/octets/Workflow.js.map +1 -1
  615. package/transpiled/directives/octets/bytes.d.ts +1 -0
  616. package/transpiled/directives/octets/bytes.js +21 -0
  617. package/transpiled/directives/octets/bytes.js.map +1 -0
  618. package/transpiled/directives/octets/schemas.d.ts +4 -8
  619. package/transpiled/directives/octets/schemas.js +3 -6
  620. package/transpiled/directives/octets/schemas.js.map +1 -1
  621. package/transpiled/directives/octets/types.d.ts +2 -0
  622. package/transpiled/directives/octets/workflows/Execution.d.ts +6 -1
  623. package/transpiled/directives/octets/workflows/Execution.js +44 -9
  624. package/transpiled/directives/octets/workflows/Execution.js.map +1 -1
  625. package/transpiled/directives/octets/workflows/Workflow.d.ts +8 -3
  626. package/transpiled/directives/octets/workflows/Workflow.js +9 -4
  627. package/transpiled/directives/octets/workflows/Workflow.js.map +1 -1
  628. package/transpiled/directives/octets/workflows/index.d.ts +1 -1
  629. package/transpiled/directives/octets/workflows/index.js.map +1 -1
  630. package/transpiled/directives/require/Directive.d.ts +4 -0
  631. package/transpiled/directives/require/Directive.js +3 -0
  632. package/transpiled/directives/require/Directive.js.map +1 -0
  633. package/transpiled/directives/require/Headers.d.ts +7 -0
  634. package/transpiled/directives/require/Headers.js +19 -0
  635. package/transpiled/directives/require/Headers.js.map +1 -0
  636. package/transpiled/directives/require/Require.d.ts +9 -0
  637. package/transpiled/directives/require/Require.js +27 -0
  638. package/transpiled/directives/require/Require.js.map +1 -0
  639. package/transpiled/directives/require/index.d.ts +2 -0
  640. package/transpiled/directives/require/index.js +6 -0
  641. package/transpiled/directives/require/index.js.map +1 -0
  642. package/transpiled/exceptions.js +2 -1
  643. package/transpiled/exceptions.js.map +1 -1
  644. package/transpiled/manifest.js +10 -11
  645. package/transpiled/manifest.js.map +1 -1
  646. package/transpiled/root.js +16 -1
  647. package/transpiled/root.js.map +1 -1
  648. package/transpiled/schemas.d.ts +1 -1
  649. package/transpiled/schemas.js +2 -2
  650. package/transpiled/schemas.js.map +1 -1
  651. package/transpiled/tsconfig.tsbuildinfo +1 -1
  652. package/components/identity.basic/operations/create.d.ts +0 -10
  653. package/components/identity.basic/operations/create.js +0 -10
  654. package/components/identity.basic/operations/create.js.map +0 -1
  655. package/components/identity.basic/source/create.ts +0 -18
  656. package/components/identity.federation/operations/create.d.ts +0 -10
  657. package/components/identity.federation/operations/create.js +0 -15
  658. package/components/identity.federation/operations/create.js.map +0 -1
  659. package/components/identity.federation/operations/lib/assertions-as-values.d.ts +0 -4
  660. package/components/identity.federation/operations/lib/assertions-as-values.js.map +0 -1
  661. package/components/identity.federation/operations/lib/jwt.d.ts +0 -20
  662. package/components/identity.federation/operations/lib/jwt.js +0 -136
  663. package/components/identity.federation/operations/lib/jwt.js.map +0 -1
  664. package/components/identity.federation/operations/schemas.d.ts +0 -59
  665. package/components/identity.federation/operations/schemas.js +0 -9
  666. package/components/identity.federation/operations/schemas.js.map +0 -1
  667. package/components/identity.federation/operations/types.d.ts +0 -51
  668. package/components/identity.federation/operations/types.js.map +0 -1
  669. package/components/identity.federation/source/create.ts +0 -26
  670. package/components/identity.federation/source/lib/assertions-as-values.ts +0 -19
  671. package/components/identity.federation/source/lib/jwt.test.ts +0 -56
  672. package/components/identity.federation/source/lib/jwt.ts +0 -171
  673. package/components/identity.federation/source/schemas.ts +0 -61
  674. package/components/identity.federation/source/types.ts +0 -56
  675. package/components/identity.tokens/operations/types.d.ts +0 -39
  676. package/components/identity.tokens/operations/types.js.map +0 -1
  677. package/components/identity.tokens/source/types.ts +0 -47
  678. package/components/octets.storage/operations/fetch.js +0 -46
  679. package/components/octets.storage/operations/list.js +0 -7
  680. package/components/octets.storage/operations/permute.js +0 -7
  681. package/components/octets.storage/operations/store.js +0 -11
  682. package/documentation/vary.md +0 -75
  683. package/features/steps/IdP.ts +0 -154
  684. package/features/steps/components/octets.tester/operations/diversify.js +0 -14
  685. package/features/vary.feature +0 -203
  686. package/schemas/octets/context.cos.yaml +0 -1
  687. package/schemas/octets/fetch.cos.yaml +0 -3
  688. package/schemas/octets/permute.cos.yaml +0 -1
  689. package/schemas/octets/store.cos.yaml +0 -3
  690. package/source/HTTP/Server.test.ts +0 -126
  691. package/source/directives/octets/Fetch.ts +0 -100
  692. package/source/directives/octets/List.ts +0 -72
  693. package/source/directives/octets/Permute.ts +0 -44
  694. package/source/directives/vary/Directive.ts +0 -7
  695. package/source/directives/vary/Embed.ts +0 -68
  696. package/source/directives/vary/Vary.ts +0 -50
  697. package/source/directives/vary/embeddings/Embedding.ts +0 -7
  698. package/source/directives/vary/embeddings/Header.ts +0 -32
  699. package/source/directives/vary/embeddings/Language.ts +0 -31
  700. package/source/directives/vary/embeddings/Parameter.ts +0 -14
  701. package/source/directives/vary/embeddings/index.ts +0 -11
  702. package/source/directives/vary/index.ts +0 -3
  703. package/transpiled/directives/octets/Fetch.js.map +0 -1
  704. package/transpiled/directives/octets/List.d.ts +0 -16
  705. package/transpiled/directives/octets/List.js +0 -74
  706. package/transpiled/directives/octets/List.js.map +0 -1
  707. package/transpiled/directives/octets/Permute.d.ts +0 -11
  708. package/transpiled/directives/octets/Permute.js +0 -58
  709. package/transpiled/directives/octets/Permute.js.map +0 -1
  710. package/transpiled/directives/octets/Store.js.map +0 -1
  711. package/transpiled/directives/vary/Directive.d.ts +0 -6
  712. package/transpiled/directives/vary/Directive.js.map +0 -1
  713. package/transpiled/directives/vary/Embed.d.ts +0 -11
  714. package/transpiled/directives/vary/Embed.js +0 -51
  715. package/transpiled/directives/vary/Embed.js.map +0 -1
  716. package/transpiled/directives/vary/Properties.js.map +0 -1
  717. package/transpiled/directives/vary/Vary.d.ts +0 -10
  718. package/transpiled/directives/vary/Vary.js +0 -36
  719. package/transpiled/directives/vary/Vary.js.map +0 -1
  720. package/transpiled/directives/vary/embeddings/Embedding.d.ts +0 -6
  721. package/transpiled/directives/vary/embeddings/Embedding.js.map +0 -1
  722. package/transpiled/directives/vary/embeddings/Header.d.ts +0 -7
  723. package/transpiled/directives/vary/embeddings/Header.js +0 -28
  724. package/transpiled/directives/vary/embeddings/Header.js.map +0 -1
  725. package/transpiled/directives/vary/embeddings/Language.d.ts +0 -7
  726. package/transpiled/directives/vary/embeddings/Language.js +0 -28
  727. package/transpiled/directives/vary/embeddings/Language.js.map +0 -1
  728. package/transpiled/directives/vary/embeddings/Parameter.d.ts +0 -7
  729. package/transpiled/directives/vary/embeddings/Parameter.js +0 -14
  730. package/transpiled/directives/vary/embeddings/Parameter.js.map +0 -1
  731. package/transpiled/directives/vary/embeddings/index.d.ts +0 -5
  732. package/transpiled/directives/vary/embeddings/index.js +0 -12
  733. package/transpiled/directives/vary/embeddings/index.js.map +0 -1
  734. package/transpiled/directives/vary/index.d.ts +0 -2
  735. package/transpiled/directives/vary/index.js +0 -6
  736. package/transpiled/directives/vary/index.js.map +0 -1
  737. /package/components/{identity.federation/operations → identity.tokens/operations/lib}/types.js +0 -0
  738. /package/schemas/octets/{list.cos.yaml → get.cos.yaml} +0 -0
  739. /package/{components/identity.tokens/operations → transpiled/directives/flow}/types.js +0 -0
  740. /package/transpiled/directives/{vary → map}/Directive.js +0 -0
@@ -3,22 +3,21 @@ Feature: Identity Federation
3
3
 
4
4
  Background:
5
5
  Given the `identity.federation` database is empty
6
- Given local IDP is running
6
+ And local IDP is running
7
7
 
8
- Scenario: Getting identity for a new user
8
+ Scenario: Asymmetric tokens
9
9
  Given the `identity.federation` configuration:
10
10
  """yaml
11
- explicit_identity_creation: false
12
11
  trust:
13
- - issuer: http://localhost:44444
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: Getting identity for a user with symmetric tokens
58
+ Scenario: Creating an Identity using inception
59
59
  Given the `identity.federation` configuration:
60
60
  """yaml
61
- explicit_identity_creation: false
62
61
  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
88
- Given the `identity.federation` configuration:
89
- """yaml
90
- trust:
91
- - issuer: http://localhost:44444
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: true
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: text/plain
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
- - issuer: http://localhost:44444
139
+ - iss: http://localhost:44444
164
140
  principal:
165
141
  iss: http://localhost:44444
166
- sub: root-mock-id
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,147 @@ 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: Tokens with `jti` are one-time
240
+ Given the `identity.federation` configuration:
241
+ """yaml
242
+ trust:
243
+ - iss: http://localhost:44444
244
+ """
245
+ And ID token with jti is issued for User
246
+ When the following request is received:
247
+ """
248
+ GET /identity/ HTTP/1.1
249
+ host: nex.toa.io
250
+ authorization: Bearer ${{ User.id_token }}
251
+ accept: application/yaml
252
+ """
253
+ Then the following reply is sent:
254
+ """
255
+ 200 OK
256
+ authorization: Token ${{ User.token }}
257
+
258
+ id: ${{ User.id }}
259
+ roles: []
260
+ """
261
+
262
+ # second use
263
+ When the following request is received:
264
+ """
265
+ GET /identity/ HTTP/1.1
266
+ host: nex.toa.io
267
+ authorization: Bearer ${{ User.id_token }}
268
+ accept: application/yaml
269
+ """
270
+ Then the following reply is sent:
271
+ """
272
+ 401 Unauthorized
273
+ """
274
+
275
+ Scenario: Authorization code flow with secret
276
+ Given the `identity.federation` configuration:
277
+ """yaml
278
+ trust:
279
+ - iss: http://localhost:44444
280
+ aud: nex
281
+ secret: secret
282
+ """
283
+ And auth code for Alice is issued for https://web.toa.io/callback/
284
+ When the following request is received:
285
+ """
286
+ GET /identity/ HTTP/1.1
287
+ authorization: Code ${{ Alice.code_credentials }}
288
+ host: nex.toa.io
289
+ accept: application/yaml
290
+ """
291
+ Then the following reply is sent:
292
+ """
293
+ 200 OK
294
+ authorization: Token ${{ Alice.token }}
295
+
296
+ id: ${{ Alice.id }}
297
+ """
298
+
299
+ Scenario: Authorization code flow with signature
300
+ Given the `identity.federation` configuration:
301
+ """yaml
302
+ trust:
303
+ - iss: http://localhost:44444
304
+ aud: nex
305
+ signature:
306
+ iss: io.toa.nex.id
307
+ kid: key-id
308
+ key: secret
309
+ """
310
+ And auth code for Bob is issued for https://web.toa.io/callback/
311
+ When the following request is received:
312
+ """
313
+ GET /identity/ HTTP/1.1
314
+ authorization: Code ${{ Bob.code_credentials }}
315
+ host: nex.toa.io
316
+ accept: application/yaml
317
+ """
318
+ Then the following reply is sent:
319
+ """
320
+ 200 OK
321
+ authorization: Token ${{ Bob.token }}
322
+
323
+ id: ${{ Bob.id }}
324
+ """
@@ -0,0 +1,71 @@
1
+ Feature: OTP authentication
2
+
3
+ OTP credentials format is base64(username:password)
4
+
5
+ Background:
6
+ Given the `identity.otp` configuration:
7
+ """yaml
8
+ lifetime: 1
9
+ """
10
+ And the Gateway is running
11
+
12
+ Scenario: Authenticate using OTP
13
+ Given OTP for `alice` in `nex` authority is issued
14
+ When the following request is received:
15
+ """
16
+ GET /identity/ HTTP/1.1
17
+ host: nex.toa.io
18
+ authorization: OTP ${{ alice.otp }}
19
+ accept: application/yaml
20
+ """
21
+ Then the following reply is sent:
22
+ """
23
+ 200 OK
24
+ authorization: Token ${{ token }}
25
+
26
+ id: ${{ id }}
27
+ """
28
+
29
+ # valid only once
30
+ When the following request is received:
31
+ """
32
+ GET /identity/ HTTP/1.1
33
+ host: nex.toa.io
34
+ authorization: OTP ${{ alice.otp }}
35
+ accept: application/yaml
36
+ """
37
+ Then the following reply is sent:
38
+ """
39
+ 401 Unauthorized
40
+ """
41
+
42
+ # same username is resolved to the same identity
43
+ Given OTP for `alice` in `nex` authority is issued
44
+ When the following request is received:
45
+ """
46
+ GET /identity/ HTTP/1.1
47
+ host: nex.toa.io
48
+ authorization: OTP ${{ alice.otp }}
49
+ accept: application/yaml
50
+ """
51
+ Then the following reply is sent:
52
+ """
53
+ 200 OK
54
+
55
+ id: ${{ id }}
56
+ """
57
+
58
+ # expiration
59
+ Given OTP for `alice` in `nex` authority is issued
60
+ And after 1 second
61
+ When the following request is received:
62
+ """
63
+ GET /identity/ HTTP/1.1
64
+ host: nex.toa.io
65
+ authorization: OTP ${{ alice.otp }}
66
+ accept: application/yaml
67
+ """
68
+ Then the following reply is sent:
69
+ """
70
+ 401 Unauthorized
71
+ """
@@ -5,9 +5,9 @@ Feature: Roles management
5
5
  # root:secret
6
6
  # user:pass
7
7
  Given the `identity.basic` database contains:
8
- | _id | username | password |
9
- | 72cf9b0ab0ac4ab2b8036e4e940ddcae | root | $2b$10$Qq/qnyyU5wjrbDXyWok14OnqAZv/z.pLhz.UddatjI6eHU/rFof4i |
10
- | 4344518184ad44228baffce7a44fd0b1 | user | $2b$10$JoiAQUS7tzobDAFIDBWhWeEIJv933dQetyjRzSmfQGaJE5ZlJbmYy |
8
+ | _id | authority | username | password |
9
+ | 72cf9b0ab0ac4ab2b8036e4e940ddcae | nex | root | $2b$10$Qq/qnyyU5wjrbDXyWok14OnqAZv/z.pLhz.UddatjI6eHU/rFof4i |
10
+ | 4344518184ad44228baffce7a44fd0b1 | nex | user | $2b$10$JoiAQUS7tzobDAFIDBWhWeEIJv933dQetyjRzSmfQGaJE5ZlJbmYy |
11
11
  And the `identity.roles` database contains:
12
12
  | _id | identity | role |
13
13
  | 9c4702490ff84f2a9e1b1da2ab64bdd4 | 72cf9b0ab0ac4ab2b8036e4e940ddcae | system:identity:roles |
@@ -15,7 +15,7 @@ Feature: Roles management
15
15
  """yaml
16
16
  /:
17
17
  io:output: true
18
- auth:role: test
18
+ auth:role: foo:bar
19
19
  GET:
20
20
  dev:stub:
21
21
  access: granted!
@@ -24,6 +24,7 @@ Feature: Roles management
24
24
  # user doesn't have the required role
25
25
  """
26
26
  GET / HTTP/1.1
27
+ host: nex.toa.io
27
28
  authorization: Basic dXNlcjpwYXNz
28
29
  """
29
30
  Then the following reply is sent:
@@ -34,11 +35,12 @@ Feature: Roles management
34
35
  # root adds a role to a user
35
36
  """
36
37
  POST /identity/roles/4344518184ad44228baffce7a44fd0b1/ HTTP/1.1
38
+ host: nex.toa.io
37
39
  authorization: Basic cm9vdDpzZWNyZXQ=
38
40
  accept: application/yaml
39
41
  content-type: application/yaml
40
42
 
41
- role: test
43
+ role: foo:bar
42
44
  """
43
45
  Then the following reply is sent:
44
46
  """
@@ -47,11 +49,40 @@ Feature: Roles management
47
49
  grantor: 72cf9b0ab0ac4ab2b8036e4e940ddcae
48
50
  """
49
51
  When the following request is received:
50
- # user now have the role
52
+ # root adds a role to a user
53
+ """
54
+ POST /identity/roles/4344518184ad44228baffce7a44fd0b1/ HTTP/1.1
55
+ host: nex.toa.io
56
+ authorization: Basic cm9vdDpzZWNyZXQ=
57
+ accept: application/yaml
58
+ content-type: application/yaml
59
+
60
+ role: foo:baz
61
+ """
62
+ Then the following reply is sent:
63
+ """
64
+ 201 Created
65
+ """
66
+
67
+ # user now have the role
68
+ When the following request is received:
51
69
  """
52
70
  GET / HTTP/1.1
71
+ host: nex.toa.io
53
72
  authorization: Basic dXNlcjpwYXNz
54
73
  """
74
+ Then the following reply is sent:
75
+ """
76
+ 200 OK
77
+ authorization: Token ${{ token }}
78
+ """
79
+ # repeat with token
80
+ When the following request is received:
81
+ """
82
+ GET / HTTP/1.1
83
+ host: nex.toa.io
84
+ authorization: Token ${{ token }}
85
+ """
55
86
  Then the following reply is sent:
56
87
  """
57
88
  200 OK
@@ -61,9 +92,9 @@ Feature: Roles management
61
92
  # moderator:secret
62
93
  # assistant:pass
63
94
  Given the `identity.basic` database contains:
64
- | _id | username | password |
65
- | 72cf9b0ab0ac4ab2b8036e4e940ddcae | moderator | $2b$10$Qq/qnyyU5wjrbDXyWok14OnqAZv/z.pLhz.UddatjI6eHU/rFof4i |
66
- | 4344518184ad44228baffce7a44fd0b1 | assistant | $2b$10$JoiAQUS7tzobDAFIDBWhWeEIJv933dQetyjRzSmfQGaJE5ZlJbmYy |
95
+ | _id | authority | username | password |
96
+ | 72cf9b0ab0ac4ab2b8036e4e940ddcae | nex | moderator | $2b$10$Qq/qnyyU5wjrbDXyWok14OnqAZv/z.pLhz.UddatjI6eHU/rFof4i |
97
+ | 4344518184ad44228baffce7a44fd0b1 | nex | assistant | $2b$10$JoiAQUS7tzobDAFIDBWhWeEIJv933dQetyjRzSmfQGaJE5ZlJbmYy |
67
98
  And the `identity.roles` database contains:
68
99
  | _id | identity | role |
69
100
  | 9c4702490ff84f2a9e1b1da2ab64bdd4 | 72cf9b0ab0ac4ab2b8036e4e940ddcae | system:identity:roles:delegation |
@@ -81,6 +112,7 @@ Feature: Roles management
81
112
  # assistant doesn't have the required role
82
113
  """
83
114
  GET / HTTP/1.1
115
+ host: nex.toa.io
84
116
  authorization: Basic YXNzaXN0YW50OnBhc3M=
85
117
  """
86
118
  Then the following reply is sent:
@@ -91,6 +123,7 @@ Feature: Roles management
91
123
  # moderator delegates a role to an assistant
92
124
  """
93
125
  POST /identity/roles/4344518184ad44228baffce7a44fd0b1/ HTTP/1.1
126
+ host: nex.toa.io
94
127
  authorization: Basic bW9kZXJhdG9yOnNlY3JldA==
95
128
  content-type: application/yaml
96
129
 
@@ -104,6 +137,7 @@ Feature: Roles management
104
137
  # assistant has access
105
138
  """
106
139
  GET / HTTP/1.1
140
+ host: nex.toa.io
107
141
  authorization: Basic YXNzaXN0YW50OnBhc3M=
108
142
  """
109
143
  Then the following reply is sent:
@@ -117,9 +151,9 @@ Feature: Roles management
117
151
 
118
152
  Scenario: Delegating role out of own scope
119
153
  Given the `identity.basic` database contains:
120
- | _id | username | password |
121
- | 72cf9b0ab0ac4ab2b8036e4e940ddcae | moderator | $2b$10$Qq/qnyyU5wjrbDXyWok14OnqAZv/z.pLhz.UddatjI6eHU/rFof4i |
122
- | 4344518184ad44228baffce7a44fd0b1 | assistant | $2b$10$JoiAQUS7tzobDAFIDBWhWeEIJv933dQetyjRzSmfQGaJE5ZlJbmYy |
154
+ | _id | authority | username | password |
155
+ | 72cf9b0ab0ac4ab2b8036e4e940ddcae | nex | moderator | $2b$10$Qq/qnyyU5wjrbDXyWok14OnqAZv/z.pLhz.UddatjI6eHU/rFof4i |
156
+ | 4344518184ad44228baffce7a44fd0b1 | nex | assistant | $2b$10$JoiAQUS7tzobDAFIDBWhWeEIJv933dQetyjRzSmfQGaJE5ZlJbmYy |
123
157
  And the `identity.roles` database contains:
124
158
  | _id | identity | role |
125
159
  | 9c4702490ff84f2a9e1b1da2ab64bdd4 | 72cf9b0ab0ac4ab2b8036e4e940ddcae | system:identity:roles:delegation |
@@ -136,6 +170,7 @@ Feature: Roles management
136
170
  When the following request is received:
137
171
  """
138
172
  POST /identity/roles/4344518184ad44228baffce7a44fd0b1/ HTTP/1.1
173
+ host: nex.toa.io
139
174
  accept: application/yaml
140
175
  content-type: application/yaml
141
176
  authorization: Basic bW9kZXJhdG9yOnNlY3JldA==
@@ -144,16 +179,16 @@ Feature: Roles management
144
179
  """
145
180
  Then the following reply is sent:
146
181
  """
147
- 409 Conflict
182
+ 422 Unprocessable Entity
148
183
 
149
184
  code: OUT_OF_SCOPE
150
185
  """
151
186
 
152
187
  Scenario: Delegating role without `system:identity:roles:delegation` role
153
188
  Given the `identity.basic` database contains:
154
- | _id | username | password |
155
- | 72cf9b0ab0ac4ab2b8036e4e940ddcae | moderator | $2b$10$Qq/qnyyU5wjrbDXyWok14OnqAZv/z.pLhz.UddatjI6eHU/rFof4i |
156
- | 4344518184ad44228baffce7a44fd0b1 | assistant | $2b$10$JoiAQUS7tzobDAFIDBWhWeEIJv933dQetyjRzSmfQGaJE5ZlJbmYy |
189
+ | _id | authority | username | password |
190
+ | 72cf9b0ab0ac4ab2b8036e4e940ddcae | nex | moderator | $2b$10$Qq/qnyyU5wjrbDXyWok14OnqAZv/z.pLhz.UddatjI6eHU/rFof4i |
191
+ | 4344518184ad44228baffce7a44fd0b1 | nex | assistant | $2b$10$JoiAQUS7tzobDAFIDBWhWeEIJv933dQetyjRzSmfQGaJE5ZlJbmYy |
157
192
  And the `identity.roles` database contains:
158
193
  | _id | identity | role |
159
194
  | 30c969e05ff6437097ed5f07fc52358e | 72cf9b0ab0ac4ab2b8036e4e940ddcae | app:moderation |
@@ -169,6 +204,7 @@ Feature: Roles management
169
204
  When the following request is received:
170
205
  """
171
206
  POST /identity/roles/4344518184ad44228baffce7a44fd0b1/ HTTP/1.1
207
+ host: nex.toa.io
172
208
  content-type: application/yaml
173
209
  authorization: Basic bW9kZXJhdG9yOnNlY3JldA==
174
210
 
@@ -181,8 +217,8 @@ Feature: Roles management
181
217
 
182
218
  Scenario Outline: Invalid role name
183
219
  Given the `identity.basic` database contains:
184
- | _id | username | password |
185
- | 72cf9b0ab0ac4ab2b8036e4e940ddcae | root | $2b$10$Qq/qnyyU5wjrbDXyWok14OnqAZv/z.pLhz.UddatjI6eHU/rFof4i |
220
+ | _id | authority | username | password |
221
+ | 72cf9b0ab0ac4ab2b8036e4e940ddcae | nex | root | $2b$10$Qq/qnyyU5wjrbDXyWok14OnqAZv/z.pLhz.UddatjI6eHU/rFof4i |
186
222
  And the `identity.roles` database contains:
187
223
  | _id | identity | role |
188
224
  | 9c4702490ff84f2a9e1b1da2ab64bdd4 | 72cf9b0ab0ac4ab2b8036e4e940ddcae | system:identity:roles |
@@ -190,6 +226,7 @@ Feature: Roles management
190
226
  # root adds a role to a user
191
227
  """
192
228
  POST /identity/roles/4344518184ad44228baffce7a44fd0b1/ HTTP/1.1
229
+ host: nex.toa.io
193
230
  authorization: Basic cm9vdDpzZWNyZXQ=
194
231
  content-type: application/yaml
195
232
 
@@ -207,8 +244,8 @@ Feature: Roles management
207
244
 
208
245
  Scenario: Dynamic roles
209
246
  Given the `identity.basic` database contains:
210
- | _id | username | password |
211
- | 72cf9b0ab0ac4ab2b8036e4e940ddcae | moderator | $2b$10$Qq/qnyyU5wjrbDXyWok14OnqAZv/z.pLhz.UddatjI6eHU/rFof4i |
247
+ | _id | authority | username | password |
248
+ | 72cf9b0ab0ac4ab2b8036e4e940ddcae | nex | moderator | $2b$10$Qq/qnyyU5wjrbDXyWok14OnqAZv/z.pLhz.UddatjI6eHU/rFof4i |
212
249
  And the `identity.roles` database contains:
213
250
  | _id | identity | role |
214
251
  | 30c969e05ff6437097ed5f07fc52358e | 72cf9b0ab0ac4ab2b8036e4e940ddcae | app:29e54ae1:moderation |
@@ -229,6 +266,7 @@ Feature: Roles management
229
266
  When the following request is received:
230
267
  """
231
268
  GET /29e54ae1/ HTTP/1.1
269
+ host: nex.toa.io
232
270
  authorization: Basic bW9kZXJhdG9yOnNlY3JldA==
233
271
  """
234
272
  Then the following reply is sent:
@@ -238,6 +276,7 @@ Feature: Roles management
238
276
  When the following request is received:
239
277
  """
240
278
  GET /88584c9b/ HTTP/1.1
279
+ host: nex.toa.io
241
280
  authorization: Basic bW9kZXJhdG9yOnNlY3JldA==
242
281
  """
243
282
  Then the following reply is sent:
@@ -247,6 +286,7 @@ Feature: Roles management
247
286
  When the following request is received:
248
287
  """
249
288
  GET /broken/ HTTP/1.1
289
+ host: nex.toa.io
250
290
  authorization: Basic bW9kZXJhdG9yOnNlY3JldA==
251
291
  """
252
292
  Then the following reply is sent: