syntax = "v1" info ( title: // TODO: add title desc: // TODO: add description author: "" email: "" ) import "basic.api" service auth { // 登录接口 @handler UserLoginHandler post /api/auth/login(RequestUserLogin) returns (response); // 注册 @handler UserRegisterHandler post /api/auth/register(RequestUserRegister) returns (response); // 获取cookie, 成为游客 @handler AcceptCookieHandler post /api/auth/accept-cookie(request) returns (response); // 获取测试链接 @handler UserDebugTokenHandler post /api/auth/debug/token/create(RequestUserDebug) returns (response); // 谷歌第三方登录 @handler UserGoogleLoginHandler get /api/auth/oauth2/login/google(RequestGoogleLogin) returns (response); // 邮箱校验 @handler UserEmailConfirmationHandler get /api/auth/email/confirmation(RequestEmailConfirmation) returns (response); // 第三方登录,确认使用邮箱 @handler UserEmailRegisterHandler post /api/auth/oauth2/register(RequestEmailRegister) returns (response); // 发送重置链接到email @handler UserResetTokenHandler post /api/auth/reset/token(RequestUserResetToken) returns (response); // 重置密码 @handler UserResetPasswordHandler post /api/auth/reset/password(RequestUserResetPassword) returns (response); // 获取重定向到html页面 @handler UserResetPasswordHtmlHandler get /api/auth/reset/password/html(RequestUserResetHtml) returns (response); // 用于debug 删除帐号 @handler DebugAuthDeleteHandler post /api/auth/debug/delete(RequestAuthDelete) returns (response); } type ( RequestUserDebug { Password string `json:"password"` // 密码,内部使用都是明文 Exp *int64 `json:"exp"` // 过期时间, 不发默认一天 IsCache int64 `json:"is_cache"` // 是否缓存 IsAllTemplateTag int64 `json:"is_all_template_tag"` // 是开启全部模板 } // RequestAuthDelete 用于debug RequestAuthDelete { Email string `json:"email"` } // UserAddAddressHandler 用户登录请求结构 RequestUserLogin { Email string `json:"email"` Password string `json:"password"` } // UserLoginHandler 用户登录请求结构 DataUserLogin { Token string `json:"token"` // 登录jwt token } ) type ( // UserAddAddressHandler 用户登录请求结构 RequestUserRegister { Wid string `json:"wid"` // websocket的id FirstName string `json:"first_name"` // 首名 LastName string `json:"last_name"` // 名 Resetaurant string `json:"resetaurant"` // 餐厅类型 Email string `json:"email"` // email Password string `json:"password"` // 密码 } // UserLoginHandler 用户登录请求结构 // DataUserRegister{ // Token string `json:"token"` // 登录jwt token // } ) type ( // RequestUserResetToken 请求重置token, 一定不为null RequestUserResetToken { Wid string `json:"wid"` Email string `json:"email"` // email } // UserResetTokenHandler 返回重置token DataResetToken { ResetToken string `json:"reset_token"` // 获取重置的token } // RequestUserResetPassword 重置密码 RequestUserResetHtml { ResetToken string `form:"reset_token"` } // RequestUserResetPassword 重置密码 RequestUserResetPassword { // Wid string `json:"wid"` // Email string `json:"email"` // email ResetToken string `json:"reset_token"` NewPassword string `json:"new_password"` } ) type RequestGoogleLogin { Code string `form:"code"` Scope string `form:"scope"` AuthUser string `form:"authuser"` Prompt string `form:"prompt"` } type RequestEmailConfirmation { Token string `form:"token"` // 操作Token OpType string `form:"optype"` // 操作类型 } type RequestEmailRegister { Wid string `json:"wid"` Email string `json:"email"` RegisterToken string `json:"register_token"` } // DataGuest 游客获取toekn请求结构 type DataGuest { Token string `json:"token"` // 登录jwt token }