Skip to content
Draft
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
28 changes: 21 additions & 7 deletions authzen/v1/authzen_service.proto
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ package authzen.v1;
import "google/api/annotations.proto";
import "google/api/field_behavior.proto";
import "google/protobuf/struct.proto";
import "openfga/v1/openfga.proto";
import "openfga/v1/openfga_service_consistency.proto";
import "protoc-gen-openapiv2/options/annotations.proto";
import "validate/validate.proto";

Expand Down Expand Up @@ -362,6 +364,18 @@ service AuthZenService {
}
}

// Context provides typed fields for OpenFGA-specific values alongside arbitrary additional context.
message Context {
// OpenFGA consistency preference for this request
optional openfga.v1.ConsistencyPreference consistency = 1 [json_name = "openfga.dev/consistency"];

// Contextual tuples to use for this request
optional openfga.v1.ContextualTupleKeys tuples = 2 [json_name = "openfga.dev/tuple_keys"];

// Arbitrary additional context values (time, ip_address, etc.)
optional google.protobuf.Struct data = 3;
}

message EvaluationRequest {
string store_id = 1 [
json_name = "store_id",
Expand All @@ -385,14 +399,14 @@ message EvaluationRequest {
(google.api.field_behavior) = REQUIRED
];

optional google.protobuf.Struct context = 5;
optional Context context = 5;
}

message EvaluationsItemRequest {
optional Subject subject = 1;
optional Resource resource = 2;
optional Action action = 3;
optional google.protobuf.Struct context = 4;
optional Context context = 4;
}

message Subject {
Expand Down Expand Up @@ -489,7 +503,7 @@ message Action {
message EvaluationResponse {
bool decision = 1;

optional google.protobuf.Struct context = 2;
optional Context context = 2;
}

message EvaluationsRequest {
Expand All @@ -503,7 +517,7 @@ message EvaluationsRequest {
optional Subject subject = 2;
optional Action action = 3;
optional Resource resource = 4;
optional google.protobuf.Struct context = 5;
optional Context context = 5;
// Optional. If omitted or empty, behaves like a single Access Evaluation request.
repeated EvaluationsItemRequest evaluations = 6;

Expand Down Expand Up @@ -576,7 +590,7 @@ message SubjectSearchRequest {
(google.api.field_behavior) = REQUIRED
];

optional google.protobuf.Struct context = 5;
optional Context context = 5;

PageRequest page = 6;
}
Expand Down Expand Up @@ -611,7 +625,7 @@ message ResourceSearchRequest {
(google.api.field_behavior) = REQUIRED
];

optional google.protobuf.Struct context = 5;
optional Context context = 5;

PageRequest page = 6;
}
Expand Down Expand Up @@ -640,7 +654,7 @@ message ActionSearchRequest {
(google.api.field_behavior) = REQUIRED
];

optional google.protobuf.Struct context = 4;
optional Context context = 4;

PageRequest page = 5;
}
Expand Down
32 changes: 25 additions & 7 deletions docs/openapiv2/apidocs.swagger.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading