syntax = "proto3"; option go_package = ".;proto"; package proto; service Auth { rpc Authenticate(AuthRequest) returns (AuthReply) {} rpc CheckPerm(CheckPermRequest) returns (CheckPermReply) {} } message Userinfo { uint64 id = 1; string name = 2; string nick = 3; string email = 4; string avatar = 5; string banner = 6; optional string description = 7; } message AuthRequest { string access_token = 1; optional string refresh_token = 2; } message AuthReply { bool is_valid = 1; optional string access_token = 2; optional string refresh_token = 3; optional Userinfo userinfo = 4; optional bytes permissions = 5; optional uint64 ticket_id = 6; } message CheckPermRequest { string token = 1; string key = 2; bytes value = 3; } message CheckPermReply { bool is_valid = 1; }