Repository navigation
Add policy support - #10495
Open
michaelstaib wants to merge 13 commits into
Open
Add policy support#10495michaelstaib wants to merge 13 commits into
michaelstaib wants to merge 13 commits into
Conversation
…ives (#23) * Add the authenticated, requiresScopes and policy source schema directives * Use a const interpolated directive name in the authorization directive ToString methods
…rization (#25) * [Fusion] Merge the source authorization directives into fusion__authorization and drop authorize from composition * [Fusion] Parse fusion__authorization and collect authorization usage when loading the composite schema * [Fusion] Update Nitro CLI composite schema snapshots for fusion__authorization * [Fusion] Validate and coerce the source authorization directive arguments during composition * [Fusion] Add the authorization argument rule to the source schema rule set guard test * [Fusion] Add a test for the policies group count warning in the authorization directive rule * [Fusion] Move MergedAuthorization into its own file * [Fusion] Move the authorization group count threshold onto the authorization directive rule * [Fusion] Make the authorization usage an immutable flags and policy name snapshot
…Fusion source directives (#26)
…and return types during composition (#29) * [Fusion] Inherit authorization requirements across interfaces, types and return types during composition * [Fusion] Keep authorization requirements on the canonical node field during composition * [Fusion] Format the authorization error row in the composition log codes table * [Fusion] Keep scope and policy requirements when combining authorization requirements during composition * [Fusion] Propagate authorization requirements to interfaces through fields only during composition * [Fusion] Update the Fusion authorization directive test snapshot for requirements flattened onto fields * [Fusion] Document bare Apollo Federation authorization directives in the composition guide * [Fusion] Fix the AUTHORIZATION_INHERITED explanation to describe field-level upward propagation * [Fusion] Move InheritedAuthorization into its own file
… their authorization requirements (#30) * [Fusion] Fail composition when a field reads protected fields through @require or a lookup key without their authorization requirements * [Fusion] Check lookup keys of union and interface lookups against each possible type for authorization requirements * [Fusion] Check nested choices in lookup keys against each possible type for authorization requirements
…rough ThrowHelper (#35)
…orization check (#36)
…ode conditions in the planner (#37) * [Fusion] Add a HasAuthorization flag to execution output fields * [Fusion] Mark deniable selections with synthetic skip variables and node conditions in the planner * [Fusion] Update HasAuthorization expectations for flattened authorization requirements * [Fusion] Fix requirement selections being skipped while their consumer node still runs * [Fusion] Move the synthetic authorization variable prefix to its only reader * [Fusion] Require the policy resolver on OperationPlanner and make Operation authorization set-once * [Fusion] Sort the authorization using directive in planner tests and benchmarks
…lidation (#38) * [Fusion] Add gateway authorization options and fail-closed startup validation * [Fusion] Resolve authentication schemes from ASP.NET Core and write the WWW-Authenticate challenge on 401 * [Fusion] Remove the duplicate IPolicyResolver registration from the operation planner services * [Fusion] Fail startup when the schema uses authorization and the host exposes no authentication schemes * [Fusion] Declare the default scope claim name once and assert the ParamName of the empty scope claim name * [Fusion] Assert the response status in the gateway startup tests * [Fusion] Validate the authorization Schemes option independently of authorization usage * [Fusion] Document the empty Schemes list and test the authorization validation opt-out * [Fusion] Shorten the Schemes option summary to two sentences * [Fusion] Fix the WWW-Authenticate challenge advertising scheme registration names instead of HTTP authentication schemes * [Fusion] Reject empty WWW-Authenticate challenges in the authorization options * [Fusion] Fix the scheme challenges default not compiling on .NET 8 and .NET 9 * [Fusion] Rename the authentication scheme catalog to a per-scheme lookup
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.