Commit Graph

40 Commits

Author SHA1 Message Date
MT Lewis 8012ac46a0 permissions: ensure returned conditions match permission in PermissionPolicy#handle (#10075)
* permission-node: fix signature of permission rule in test suites

Signed-off-by: Mike Lewis <mtlewis@users.noreply.github.com>

* permission-common: add isPermission helper for comparing permissions

Signed-off-by: Mike Lewis <mtlewis@users.noreply.github.com>

* permission-node: adjust createConditionExports for more type safety

Signed-off-by: Mike Lewis <mtlewis@users.noreply.github.com>

* permissions: add resourceType property to PermissionCondition and PermissionRule

Signed-off-by: Mike Lewis <mtlewis@users.noreply.github.com>

* catalog: handle changes to PermissionCondition and PermissionRule types

Signed-off-by: Mike Lewis <mtlewis@users.noreply.github.com>

* catalog-backend: avoid re-exporting alpha import

cf. https://github.com/backstage/backstage/pull/10128

Signed-off-by: Mike Lewis <mtlewis@users.noreply.github.com>

* Update changeset

Signed-off-by: Joe Porpeglia <josephp@spotify.com>

* Resolve api-report conflict

Signed-off-by: Joon Park <joonp@spotify.com>

Co-authored-by: Joe Porpeglia <josephp@spotify.com>
Co-authored-by: Joon Park <joonp@spotify.com>
2022-03-28 11:06:38 +01:00
Joe Porpeglia e43290ce96 Rename permission backend request and response types
Signed-off-by: Joe Porpeglia <josephp@spotify.com>
2022-03-25 10:02:46 -04:00
Joe Porpeglia 970814ed38 Move policy decision types to permission-common
Co-authored-by: Mike Lewis <mtlewis@users.noreply.github.com>
Signed-off-by: Joe Porpeglia <josephp@spotify.com>
2022-03-25 10:02:46 -04:00
Joe Porpeglia ac0a6cb827 Introduce PermissionMessageBatch utility type. Rename Identified type to IdentifiedPermissionMessage.
Co-authored-by: Mike Lewis <mtlewis@users.noreply.github.com>
Signed-off-by: Joe Porpeglia <josephp@spotify.com>
2022-03-25 10:02:46 -04:00
Mike Lewis 9cbb270aef permissions: add a discriminator type to Permission
Signed-off-by: Mike Lewis <mtlewis@users.noreply.github.com>
2022-03-22 14:32:38 -04:00
Mike Lewis 899d38ea68 permission-common: add utility types for creating and refining Permissions
Signed-off-by: Mike Lewis <mtlewis@users.noreply.github.com>
2022-03-22 14:32:38 -04:00
Mike Lewis 95284162d6 permission-common: introduce ResourcePermission type
Signed-off-by: Mike Lewis <mtlewis@users.noreply.github.com>
2022-03-22 14:32:38 -04:00
Joe Porpeglia e2cf0662eb Warn if permission backend is used without permissions enabled
Signed-off-by: Joe Porpeglia <josephp@spotify.com>
2022-02-14 15:34:24 -05:00
Joe Porpeglia e66bb84798 Require at least one item in allOf/anyOf criteria
Signed-off-by: Joe Porpeglia <josephp@spotify.com>
2022-02-11 11:08:56 -05:00
Fredrik Adelöw bf5222bfa1 moved over IdentityClient as well
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2022-02-09 19:32:59 +01:00
Fredrik Adelöw 86b40d464f move over BackstageSignInResult, BackstageIdentityResponse, BackstageUserIdentity
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2022-02-09 17:10:18 +01:00
Fredrik Adelöw b3f3e42036 move IdentityClient.getBearerToken
Signed-off-by: Fredrik Adelöw <freben@gmail.com>
2022-02-09 10:38:12 +01:00
MT Lewis 0ae4f4cc82 permissions: rename authorize request and response types to avoid envelope suffix
Signed-off-by: MT Lewis <mtlewis@users.noreply.github.com>
2022-01-13 17:51:06 +00:00
MT Lewis b768259244 permission-backend: wrap authorize request and response batches in envelope
Signed-off-by: MT Lewis <mtlewis@users.noreply.github.com>
2022-01-13 17:51:05 +00:00
MT Lewis 1fb2e0e0b4 permission-node: wrap request and response arrays in object
Signed-off-by: MT Lewis <mtlewis@users.noreply.github.com>
2022-01-13 13:04:06 +00:00
MT Lewis ef291ff985 permission-backend: move dataloader to router
Signed-off-by: MT Lewis <mtlewis@users.noreply.github.com>
2022-01-13 13:04:05 +00:00
MT Lewis 85b9e1ae60 permission-backend: use dataloader in PermissionIntegrationClient
Signed-off-by: MT Lewis <mtlewis@users.noreply.github.com>
2022-01-13 13:04:05 +00:00
MT Lewis 8e72b573aa permission-node: switch to array for getResources return value
Signed-off-by: MT Lewis <mtlewis@users.noreply.github.com>
2022-01-13 13:04:04 +00:00
MT Lewis 706b6c29e9 permission-node: allow batch retrieval of resources in /apply-conditions
Signed-off-by: MT Lewis <mtlewis@users.noreply.github.com>
2022-01-13 13:04:04 +00:00
MT Lewis b66704db18 permission-node: accept batched requests in /apply-conditions
Signed-off-by: MT Lewis <mtlewis@users.noreply.github.com>
2022-01-13 13:04:03 +00:00
Johan Haals 8c337a480f chore: Update types and API reports
Signed-off-by: Johan Haals <johan.haals@gmail.com>
2021-12-02 13:32:35 +01:00
MT Lewis 450ca92330 permissions: change permission integration route to use /.well-known prefix
Signed-off-by: MT Lewis <mtlewis@users.noreply.github.com>
2021-12-01 15:52:08 +00:00
MT Lewis e7851efa9e permission-node: rename and adjust policy return type to reduce nesting
Signed-off-by: MT Lewis <mtlewis@users.noreply.github.com>
2021-11-30 15:21:28 +00:00
Mike Lewis 2e5a67b77d permission-backend: replace cross-fetch with node-fetch
Signed-off-by: Mike Lewis <mtlewis@users.noreply.github.com>
2021-11-25 09:50:24 +00:00
Mike Lewis 2bacc8be34 permission-backend: expand router test suite
Signed-off-by: Mike Lewis <mtlewis@users.noreply.github.com>
2021-11-24 16:46:19 +00:00
Mike Lewis fafb482d73 permission-backend: add request validation
Signed-off-by: Mike Lewis <mtlewis@users.noreply.github.com>
2021-11-24 15:27:42 +00:00
Mike Lewis 12b0eebfb5 permission-backend: pass in identity client
Signed-off-by: Mike Lewis <mtlewis@users.noreply.github.com>
2021-11-24 15:18:50 +00:00
Mike Lewis b5e43875d5 permission-backend: enumerate exports in service index
Signed-off-by: Mike Lewis <mtlewis@users.noreply.github.com>
2021-11-24 14:47:51 +00:00
Mike Lewis 8f83584706 permission-backend: remove standaloneServer, run.ts and AllowAllPermissionPolicy
The run.ts / standaloneServer.ts stuff is a hangover and expected to
be removed or heavily adjusted in the future, and since it's intended
to run from the command line, there's no neat way to pass in a
permission policy. As such it's not going to be useful in its current
form, so we're removing it for now.

Signed-off-by: Mike Lewis <mtlewis@users.noreply.github.com>
2021-11-24 14:35:14 +00:00
Mike Lewis f5c3211129 permission-backend: 500 when policy returns incorrect resourceType
Signed-off-by: Mike Lewis <mtlewis@users.noreply.github.com>
2021-11-24 14:31:43 +00:00
Mike Lewis dbd89112a5 permission-backend: add permission-node integration tests
Signed-off-by: Mike Lewis <mtlewis@users.noreply.github.com>
2021-11-24 14:31:42 +00:00
Mike Lewis 2335e0a01f permission-backend: update default port for standalone server
Signed-off-by: Mike Lewis <mtlewis@users.noreply.github.com>
2021-11-24 14:31:42 +00:00
Mike Lewis 7f4a77a884 permission-backend: add todo
Signed-off-by: Mike Lewis <mtlewis@users.noreply.github.com>
2021-11-24 14:31:42 +00:00
Mike Lewis cd77cbd48f permission-backend: clean up PermissionIntegrationClient applyConditions signature
Signed-off-by: Mike Lewis <mtlewis@users.noreply.github.com>
2021-11-24 14:31:42 +00:00
Mike Lewis 6de1e719d4 permission-backend: api docs
Signed-off-by: Mike Lewis <mtlewis@users.noreply.github.com>
2021-11-24 14:31:42 +00:00
Mike Lewis 0ce2bc4129 permission-backend: remove manual construction of service discovery
We shouldn't be constructing a service discovery implementation inside
the router, since it removes the ability to provide a different
discovery mechanism.

Signed-off-by: Mike Lewis <mtlewis@users.noreply.github.com>
2021-11-24 14:31:41 +00:00
Mike Lewis e9b6b7bf89 permission-backend: extract client for calling other plugins to apply conditions
Also adds response validation

Signed-off-by: Mike Lewis <mtlewis@users.noreply.github.com>
2021-11-24 14:31:41 +00:00
Mike Lewis 671bf72ed6 permission-backend: fix initial test suite
Signed-off-by: Mike Lewis <mtlewis@users.noreply.github.com>
2021-11-24 14:31:41 +00:00
Mike Lewis be1f89d383 permission-backend: extract AllowAllPermissionPolicy from standaloneServer in permission-backend
Signed-off-by: Mike Lewis <mtlewis@users.noreply.github.com>
2021-11-24 14:31:40 +00:00
Tim Hansen f028746410 Add permission-backend plugin
Signed-off-by: Tim Hansen <timbonicus@gmail.com>
2021-11-24 14:31:40 +00:00