package controller import ( "context" "easygoadmin/api/v1" "easygoadmin/internal/service" ) // ============================== 认证控制器 ============================== // CAuth 认证控制器 // 薄层控制器,参数解析、权限与日志切面由 router.Bind 统一处理 type CAuth struct{} // Login 登录 // 校验用户名、密码及验证码,成功后签发访问令牌与刷新令牌 func (c *CAuth) Login(ctx context.Context, req *v1.LoginReq) (res *v1.LoginRes, err error) { return service.Auth().Login(ctx, req) } // Logout 登出 // 将当前访问令牌加入黑名单,使其立即失效 func (c *CAuth) Logout(ctx context.Context, req *v1.LogoutReq) (res *v1.LogoutRes, err error) { return service.Auth().Logout(ctx, req) } // Captcha 图形验证码 // 生成图形验证码并返回验证码标识与图片内容 func (c *CAuth) Captcha(ctx context.Context, req *v1.CaptchaReq) (res *v1.CaptchaRes, err error) { return service.Auth().Captcha(ctx, req) } // Refresh 刷新令牌 // 支持 refresh_token 刷新与 password 密码模式两种授权方式 func (c *CAuth) Refresh(ctx context.Context, req *v1.RefreshReq) (res *v1.RefreshRes, err error) { return service.Auth().Refresh(ctx, req) } // CheckToken 校验令牌 // 校验令牌有效性并返回用户ID func (c *CAuth) CheckToken(ctx context.Context, req *v1.CheckTokenReq) (res *v1.CheckTokenRes, err error) { return service.Auth().CheckToken(ctx, req) } // RemoveToken 撤销指定令牌 // 将指定令牌加入黑名单,实现踢下线 func (c *CAuth) RemoveToken(ctx context.Context, req *v1.RemoveTokenReq) (res *v1.RemoveTokenRes, err error) { return service.Auth().RemoveToken(ctx, req) }