Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/orange-yaks-double.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@apollo/composition": patch
---

Fixed access control verification of transitive requirements (through `@requires` and/or `@fromContext`) to ensure it works with chains of transitive dependencies.
9 changes: 9 additions & 0 deletions .changeset/shaggy-adults-help.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
---
"@apollo/composition": patch
"@apollo/federation-internals": patch
---
Allow interface object fields to specify access control

Update composition logic to allow specifying access control directives (`@authenticated`, `@requiresScopes` and `@policy`) on `@interfaceObject` fields. While we disallow access control on interface types and fields, we decided to support it on `@interfaceObject` as it is a useful pattern to define a single resolver (that may need access controls) for common interface fields. Alternative would require our users to explicitly define resolvers for all implementations which defeats the purpose of `@interfaceObject`.

This PR refactors in how we propagate access control by providing additional merge sources when merging directives on interfaces, interface fields and object fields.
5 changes: 5 additions & 0 deletions .changeset/smart-crabs-jump.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@apollo/federation-internals": patch
---

Fixed demand control validations to unwrap non-nullable composite types and fields when performing validations.
Loading