82 lines
1.9 KiB
Protocol Buffer
82 lines
1.9 KiB
Protocol Buffer
syntax = "proto3";
|
||
|
||
package user;
|
||
|
||
option go_package = "./user";
|
||
|
||
// 用户服务 - 注册、登录、登出、获取用户信息、健康检查
|
||
service User {
|
||
// 健康检查
|
||
rpc Ping (PingRequest) returns (PingResponse);
|
||
|
||
// 用户注册
|
||
rpc Register (RegisterRequest) returns (RegisterResponse);
|
||
|
||
// 用户登录,返回 JWT Token
|
||
rpc Login (LoginRequest) returns (LoginResponse);
|
||
|
||
// 用户登出,可选实现
|
||
rpc Logout (LogoutRequest) returns (LogoutResponse);
|
||
|
||
// 获取用户信息
|
||
rpc GetUserInfo (GetUserInfoRequest) returns (GetUserInfoResponse);
|
||
}
|
||
|
||
// 健康检查请求
|
||
message PingRequest {
|
||
string ping = 1;
|
||
}
|
||
|
||
// 健康检查响应
|
||
message PingResponse {
|
||
string pong = 1;
|
||
}
|
||
|
||
// 注册请求
|
||
message RegisterRequest {
|
||
string username = 1; // 用户名
|
||
string password = 2; // 密码(明文或哈希后)
|
||
string email = 3; // 邮箱,可选
|
||
}
|
||
|
||
// 注册响应
|
||
message RegisterResponse {
|
||
string user_id = 1; // 新注册用户的唯一 ID
|
||
}
|
||
|
||
// 登录请求
|
||
message LoginRequest {
|
||
string username = 1; // 用户名
|
||
string password = 2; // 密码
|
||
}
|
||
|
||
// 登录响应
|
||
message LoginResponse {
|
||
string token = 1; // JWT 访问令牌
|
||
int64 expires_at = 2; // 过期时间(Unix 时间戳)
|
||
}
|
||
|
||
// 登出请求
|
||
message LogoutRequest {
|
||
string token = 1; // 要废弃的 JWT
|
||
}
|
||
|
||
// 登出响应
|
||
message LogoutResponse {
|
||
bool success = 1; // 是否登出成功
|
||
}
|
||
|
||
// 获取用户信息请求
|
||
message GetUserInfoRequest {
|
||
string user_id = 1; // 目标用户 ID
|
||
}
|
||
|
||
// 获取用户信息响应
|
||
message GetUserInfoResponse {
|
||
string user_id = 1; // 用户唯一 ID
|
||
string username = 2; // 用户名
|
||
string email = 3; // 用户邮箱
|
||
int64 created_at = 4; // 账号创建时间(Unix 时间戳)
|
||
repeated string roles = 5; // 用户角色列表,可选
|
||
}
|