Nexus/pkg/proto/authenticate.proto
2024-10-31 20:57:27 +08:00

48 lines
834 B
Protocol Buffer

syntax = "proto3";
import "user.proto";
option go_package = ".;proto";
package proto;
service AuthService {
rpc Authenticate(AuthRequest) returns (AuthReply) {}
rpc EnsurePermGranted(CheckPermRequest) returns (CheckPermResponse) {}
rpc EnsureUserPermGranted(CheckUserPermRequest) returns (CheckUserPermResponse) {}
}
message AuthInfo {
UserInfo info = 1;
uint64 session_id = 3;
}
message AuthRequest {
uint64 session_id = 1;
}
message AuthReply {
bool is_valid = 1;
optional AuthInfo info = 2;
}
message CheckPermRequest {
uint64 session_id = 1;
string key = 2;
bytes value = 3;
}
message CheckPermResponse {
bool is_valid = 1;
}
message CheckUserPermRequest {
uint64 user_id = 1;
uint64 other_id = 2;
string key = 3;
bytes value = 4;
}
message CheckUserPermResponse {
bool is_valid = 1;
}