proto: add AuthRegister and AuthApprove RPCs

Add gRPC service definitions for managing auth requests:
AuthRegister to register interactive auth sessions and
AuthApprove/AuthReject to approve or deny pending requests
(used for SSH check mode).

Updates #1850
This commit is contained in:
Kristoffer Dalby
2026-02-24 18:50:47 +00:00
parent 107c2f2f70
commit dc0e52a960
2 changed files with 50 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
syntax = "proto3";
package headscale.v1;
option go_package = "github.com/juanfont/headscale/gen/go/v1";
import "headscale/v1/node.proto";
message AuthRegisterRequest {
string user = 1;
string auth_id = 2;
}
message AuthRegisterResponse {
Node node = 1;
}
message AuthApproveRequest {
string auth_id = 1;
}
message AuthApproveResponse {}
message AuthRejectRequest {
string auth_id = 1;
}
message AuthRejectResponse {}

View File

@@ -8,6 +8,7 @@ import "headscale/v1/user.proto";
import "headscale/v1/preauthkey.proto";
import "headscale/v1/node.proto";
import "headscale/v1/apikey.proto";
import "headscale/v1/auth.proto";
import "headscale/v1/policy.proto";
service HeadscaleService {
@@ -139,6 +140,29 @@ service HeadscaleService {
// --- Node end ---
// --- Auth start ---
rpc AuthRegister(AuthRegisterRequest) returns (AuthRegisterResponse) {
option (google.api.http) = {
post : "/api/v1/auth/register"
body : "*"
};
}
rpc AuthApprove(AuthApproveRequest) returns (AuthApproveResponse) {
option (google.api.http) = {
post : "/api/v1/auth/approve"
body : "*"
};
}
rpc AuthReject(AuthRejectRequest) returns (AuthRejectResponse) {
option (google.api.http) = {
post : "/api/v1/auth/reject"
body : "*"
};
}
// --- Auth end ---
// --- ApiKeys start ---
rpc CreateApiKey(CreateApiKeyRequest) returns (CreateApiKeyResponse) {
option (google.api.http) = {