* Install buf with go install This reduces the impact of using buf on our dependency closure, which was significant. It also avoids potential issues with building buf given our own internal dependency constraints. This has caused issues (including crashes!) in the past. See https://github.com/cockroachdb/cockroach/issues/67216#issuecomment-874176186 for more discussion on using tool dependencies generally, and https://github.com/bufbuild/buf/issues/52 for an example of where this sort of thing caused an issue for a user. * Upgrade buf version We should migrate to v1 sooner rather than later, as it has some breaking changes from v0. * Change buf lint/breaking commands These commands were moved up one level for v1 * Migrate to buf.yaml to v1 * Remove unused imports These were uncovered by using "buf lint". * Use buf v1.3.1 * Depend on googleapis and grpc-gateway via BSR * Switch to buf for proto generation * Remove third party dependency * Remove unused tools and scripts * Move local protos up one level * Temporarily don't fail on breaking changes * Generate CI config * Fix generation of controller.json * Replace use of deprecated flag * Remove unused import, regenerate files * Remove temporary skipping over breaking check
47 lines
2.0 KiB
Protocol Buffer
47 lines
2.0 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package testing.event.v1;
|
|
|
|
option go_package = "github.com/hashicorp/boundary/internal/gen/testing/event;event";
|
|
|
|
import "google/protobuf/struct.proto";
|
|
import "protoc-gen-openapiv2/options/annotations.proto";
|
|
import "google/api/annotations.proto";
|
|
|
|
service TestAuthMethodService {
|
|
// TestAuthenticate validates credentials provided and returns an Auth Token.
|
|
rpc TestAuthenticate(TestAuthenticateRequest) returns (TestAuthenticateResponse) {
|
|
option (google.api.http) = {
|
|
post: "/v1/auth-methods/{auth_method_id}:authenticate"
|
|
body: "*"
|
|
};
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
summary: "Authenticate a user to an scope and retrieve an authentication token."
|
|
};
|
|
}
|
|
}
|
|
message TestAuthenticateRequest {
|
|
// The ID of the Auth Method in the system that should be used for authentication.
|
|
// @inject_tag: `class:"public"`
|
|
string auth_method_id = 1 [json_name = "auth_method_id"];
|
|
// This can be "cookie" or "token". If not provided, "token" will be used. "cookie" activates a split-cookie method where the token is split partially between http-only and regular cookies in order
|
|
// to keep it safe from rogue JS in the browser.
|
|
// @inject_tag: `class:"public"`
|
|
string token_type = 2 [json_name = "token_type"];
|
|
// Attributes are passed to the Auth Method; the valid keys and values depend on the type of Auth Method as well as the command.
|
|
google.protobuf.Struct attributes = 4 [json_name = "attributes"];
|
|
// The command to perform.
|
|
// @inject_tag: `class:"public"`
|
|
string command = 5 [json_name = "command"];
|
|
}
|
|
|
|
message TestAuthenticateResponse {
|
|
reserved 1, 2; // Old item and token_type
|
|
reserved "item", "token_type";
|
|
// Valid keys and values depend on the type of Auth Method as well as the command.
|
|
google.protobuf.Struct attributes = 4 [json_name = "attributes"];
|
|
// The command that was performed.
|
|
// @inject_tag: `class:"public"`
|
|
string command = 5 [json_name = "command"];
|
|
}
|