syntax = "proto3"; //版本声明,使用v3版本 package auth; option go_package = "gitlab.fusenpack.com/backend/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 }