proto/service/auth.proto

228 lines
5.2 KiB
Protocol Buffer
Raw Normal View History

2023-11-27 09:36:02 +00:00
syntax = "proto3"; //版本声明使用v3版本
package auth;
option go_package = "gitee.com/fusenpack/fusen-auth;service";
// 导入google/api/annotations.proto 注释依赖
import "google/api/annotations.proto";
import "service/basic.proto";
import "google/protobuf/struct.proto";
import "google/protobuf/any.proto";
//定义服务
service auth {
// 登录接口
rpc ValidToken(ValidTokenRequest) returns (ValidTokenResponse) {
// 添加 HTTP POST 网关注解
option (google.api.http) = {
post: "/api/auth/valid/token"
body: "*"
};
}
// 登录接口
rpc Login(UserLoginRequest) returns (UserLoginResponse) {
// 添加 HTTP POST 网关注解
option (google.api.http) = {
post: "/api/auth/login"
body: "*"
};
}
// 注册接口
rpc Register(UserRegisterRequest) returns (basic.Response) {
// 添加 HTTP POST 网关注解
option (google.api.http) = {
post: "/api/auth/register"
body: "*"
};
}
// Cookie 接受接口
rpc AcceptCookie(basic.Request) returns (GuestResponse) {
// 添加 HTTP POST 网关注解
option (google.api.http) = {
post: "/api/auth/accept-cookie"
body: "*"
};
}
// 调试令牌创建接口
rpc CreateDebugToken(UserDebugRequest) returns (DebugTokenResponse) {
// 添加 HTTP POST 网关注解
option (google.api.http) = {
post: "/api/auth/debug/token/create"
body: "*"
};
}
// Google 登录接口
rpc GoogleLogin(GoogleLoginRequest) returns (basic.Response) {
// 添加 HTTP GET 网关注解
option (google.api.http) = {
get: "/api/auth/oauth2/login/google"
};
}
// 邮箱确认接口
rpc EmailConfirmation(EmailConfirmationRequest) returns (basic.Response) {
// 添加 HTTP GET 网关注解
option (google.api.http) = {
post: "/api/auth/email/confirmation"
body: "*"
};
}
// 使用邮箱注册接口
rpc EmailRegister(EmailRegisterRequest) returns (basic.Response) {
// 添加 HTTP POST 网关注解
option (google.api.http) = {
post: "/api/auth/oauth2/register"
body: "*"
};
}
// 发送重置令牌到邮箱接口
rpc ResetToken(UserResetTokenRequest) returns (basic.Response) {
// 添加 HTTP POST 网关注解
option (google.api.http) = {
post: "/api/auth/reset/token"
body: "*"
};
}
// 重置密码接口
rpc ResetPassword(UserResetPasswordRequest) returns (basic.Response) {
// 添加 HTTP POST 网关注解
option (google.api.http) = {
post: "/api/auth/reset/password"
body: "*"
};
}
// 获取重定向到 HTML 页面接口
rpc ResetPasswordHtml(UserResetHtmlRequest) returns (basic.Response) {
// 添加 HTTP GET 网关注解
option (google.api.http) = {
get: "/api/auth/reset/password/html"
};
}
// 调试删除帐号接口
rpc DebugDelete(AuthDeleteRequest) returns (basic.Response) {
// 添加 HTTP POST 网关注解
option (google.api.http) = {
post: "/api/auth/debug/delete"
body: "*"
};
}
}
// 验证token的请求
message ValidTokenRequest {
optional string user_token = 1;
optional string debug_token = 2;
}
// 验证token的请求
message ValidTokenResponse {
google.protobuf.Struct user_info = 1;
google.protobuf.Struct debug_info = 2;
}
// 定义调试令牌请求消息
message UserDebugRequest {
string password = 1; // 密码,内部使用都是明文
optional int64 exp = 2; // 过期时间,不发默认一天
int64 is_cache = 3 ; // 是否缓存
int64 is_all_template_tag = 4; // 是否开启全部模板
}
// 定义调试删除帐号请求消息
message AuthDeleteRequest {
string email = 1;
}
// 定义用户登录请求消息
message UserLoginRequest {
string email = 1;
string password = 2;
}
// 定义用户登录响应消息
message UserLoginResponse
{
string token = 1; // 登录 JWT Token
}
// 定义用户注册请求消息
message UserRegisterRequest {
string wid = 1; // WebSocket 的 ID
string first_name = 2; // 首名
string last_name = 3; // 名
string resetaurant = 4; // 餐厅类型
string email = 5; // email
string password = 6; // 密码
}
// 定义请求重置令牌消息
message UserResetTokenRequest {
string wid = 1;
string email = 2; // email
}
// 定义返回重置令牌消息
message ResetTokenResponse
{
string reset_token = 1; // 获取重置的令牌
}
// 定义请求重置密码 HTML 页面消息
message UserResetHtmlRequest {
string reset_token = 1;
}
// 定义请求重置密码消息
message UserResetPasswordRequest {
string reset_token = 1;
string new_password = 2;
}
// 定义请求 Google 登录消息
message GoogleLoginRequest {
string code = 1;
string scope = 2;
string authuser = 3;
string prompt = 4;
}
// 定义请求邮箱确认消息
message EmailConfirmationRequest {
string token = 1; // 操作 Token
string optype = 2; // 操作类型
}
// 定义请求使用邮箱注册消息
message EmailRegisterRequest {
string wid = 1;
string email = 2;
string register_token = 3;
}
// 定义游客获取 Token 请求消息
message GuestResponse
{
string token = 1; // 登录 JWT Token
}
// 获取debug token返回值
message DebugTokenResponse
{
string debug_token = 1; // debug token JWT Token
}