v1

package
v0.0.0-...-d6e6d8e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 20, 2026 License: AGPL-3.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AuthHandler

type AuthHandler struct {
	// contains filtered or unexported fields
}

AuthHandler 认证处理器

func NewAuthHandler

func NewAuthHandler(i *do.Injector) (*AuthHandler, error)

NewAuthHandler 创建认证处理器 (samber/do 风格)

func (*AuthHandler) ChangePassword

func (h *AuthHandler) ChangePassword(c *web.Context, req domain.ChangePasswordReq) error

ChangePassword 修改密码接口

@Summary		修改密码
@Description	修改当前用户的密码
@Tags			【用户】认证
@Accept			json
@Produce		json
@Security		MonkeyCodeAIAuth
@Param			req	body		domain.ChangePasswordReq	true	"修改密码请求"
@Success		200	{object}	web.Resp{}
@Router			/api/v1/users/passwords/change [put]

func (*AuthHandler) GetAccountInfo

func (h *AuthHandler) GetAccountInfo(c *web.Context, req domain.GetAccountInfoReq) error

GetAccountInfo 通过 token 查询账户信息接口

@Summary		通过 token 查询账户信息
@Description	通过传入的 token 查询账户信息
@Tags			【用户】密码管理
@Accept			json
@Produce		json
@Param			token	path		string								true	"用户 token"
@Success		200		{object}	web.Resp{data=domain.TeamUserInfo}	"成功"
@Failure		400		{object}	web.Resp							"请求参数错误"
@Failure		401		{object}	web.Resp							"未授权,token 无效或已过期"
@Router			/api/v1/users/passwords/accounts/{token} [get]

func (*AuthHandler) Logout

func (h *AuthHandler) Logout(c *web.Context) error

Logout 登出接口

@Summary		用户登出
@Description	清除用户会话,登出系统
@Tags			【用户】认证
@Accept			json
@Produce		json
@Success		200	{object}	map[string]string
@Router			/api/v1/users/logout [post]

func (*AuthHandler) MemberList

func (h *AuthHandler) MemberList(c *web.Context, _ domain.UserMemberListReq) error

MemberList 获取当前用户所在团队的普通成员列表

@Summary		获取团队成员列表
@Description	获取当前用户所在团队的普通成员列表
@Tags			【用户】用户
@Accept			json
@Produce		json
@Security		MonkeyCodeAIAuth
@Success		200	{object}	web.Resp{data=domain.TeamMembersResp}	"成功"
@Failure		401	{object}	web.Resp								"未授权"
@Failure		500	{object}	web.Resp								"服务器内部错误"
@Router			/api/v1/users/members [get]

func (*AuthHandler) OAuthCallback

func (h *AuthHandler) OAuthCallback(c *web.Context, req domain.OAuthCallbackReq) error

OAuthCallback 处理 Google/GitHub OAuth 登录回调。

func (*AuthHandler) OAuthLogin

func (h *AuthHandler) OAuthLogin(c *web.Context, req domain.OAuthLoginReq) error

OAuthLogin 发起 Google/GitHub OAuth 登录

@Summary		发起 Google/GitHub OAuth 登录
@Description	根据 provider 生成第三方授权地址。provider 仅支持 google、github。redirect_url 可选,必须是站内相对路径;登录成功后后端会跳转到该路径,空值默认 /console/。
@Tags			【用户】OAuth
@Accept			json
@Produce		json
@Param			provider		path		string	true	"登录提供方,仅支持 google、github"
@Param			redirect_url	query		string	false	"登录成功后的站内跳转路径,例如 /console/tasks;只允许站内相对路径"
@Success		200				{object}	web.Resp{data=domain.OAuthLoginResp}
@Failure		400				{object}	web.Resp	"provider 或 redirect_url 无效"
@Router			/api/v1/users/oauth/{provider}/login [get]

func (*AuthHandler) OIDCCallback

func (h *AuthHandler) OIDCCallback(c *web.Context, req domain.TeamOIDCCallbackReq) error

OIDCCallback 处理团队 OIDC 回调

@Summary		处理团队 OIDC 回调
@Description	处理身份源回调并创建 MonkeyCode 登录会话
@Tags			【用户】企业团队成员认证
@Accept			json
@Produce		json
@Param			code	query	string	true	"授权码"
@Param			state	query	string	true	"状态"
@Router			/api/v1/users/oidc/callback [get]

func (*AuthHandler) OIDCDefaultPublicConfig

func (h *AuthHandler) OIDCDefaultPublicConfig(c *web.Context) error

OIDCDefaultPublicConfig 获取默认团队公开 OIDC 登录配置

@Summary		获取默认团队公开 OIDC 登录配置
@Description	用于私有化登录页展示第一个已启用团队的企业登录入口
@Tags			【用户】企业团队成员认证
@Accept			json
@Produce		json
@Success		200	{object}	web.Resp{data=domain.TeamOIDCPublicConfigResp}
@Router			/api/v1/users/oidc/default-team [get]

func (*AuthHandler) OIDCLogin

func (h *AuthHandler) OIDCLogin(c *web.Context, req domain.TeamOIDCLoginReq) error

OIDCLogin 发起团队 OIDC 登录

@Summary		发起团队 OIDC 登录
@Description	根据 team_id 跳转到团队 OIDC 身份源
@Tags			【用户】企业团队成员认证
@Accept			json
@Produce		json
@Param			team_id	query	string	true	"团队 ID"
@Router			/api/v1/users/oidc/login [get]

func (*AuthHandler) OIDCPublicConfig

func (h *AuthHandler) OIDCPublicConfig(c *web.Context, req domain.TeamOIDCPublicConfigReq) error

OIDCPublicConfig 获取团队公开 OIDC 登录配置

@Summary		获取团队公开 OIDC 登录配置
@Description	用于团队专属登录页展示企业登录入口
@Tags			【用户】企业团队成员认证
@Accept			json
@Produce		json
@Param			team_id	path		string	true	"团队 ID"
@Success		200		{object}	web.Resp{data=domain.TeamOIDCPublicConfigResp}
@Router			/api/v1/users/oidc/teams/{team_id} [get]

func (*AuthHandler) PasswordLogin

func (h *AuthHandler) PasswordLogin(c *web.Context, req domain.TeamLoginReq) error

PasswordLogin 密码登录接口

@Summary		密码登录
@Description	密码登录
@Tags			【用户】企业团队成员认证
@Accept			json
@Produce		json
@Param			req	body		domain.TeamLoginReq	true	"登录请求"
@Success		200	{object}	domain.TeamUserInfo
@Router			/api/v1/users/password-login [post]

func (*AuthHandler) ResetPassword

func (h *AuthHandler) ResetPassword(c *web.Context, req domain.ResetUserPasswordReq) error

ResetPassword 重置密码接口

@Summary		重置密码
@Description	重置当前用户的密码
@Tags			【用户】密码管理
@Accept			json
@Produce		json
@Param			req	body		domain.ResetUserPasswordReq	true	"重置密码请求"
@Success		200	{object}	web.Resp{}
@Router			/api/v1/users/passwords/reset [put]

func (*AuthHandler) SendBindEmailVerification

func (h *AuthHandler) SendBindEmailVerification(c *web.Context, req domain.SendBindEmailVerificationReq) error

SendBindEmailVerification 发送邮箱绑定验证邮件

@Summary		发送邮箱绑定验证邮件
@Description	用户已登录状态下请求绑定邮箱,系统发送验证邮件
@Tags			【用户】邮箱绑定
@Accept			json
@Produce		json
@Security		MonkeyCodeAIAuth
@Param			req	body		domain.SendBindEmailVerificationReq	true	"邮箱绑定请求"
@Success		200	{object}	web.Resp{}
@Failure		401	{object}	web.Resp	"未授权"
@Failure		500	{object}	web.Resp	"服务器内部错误"
@Router			/api/v1/users/email/bind-request [put]

func (*AuthHandler) SendResetPasswordEmail

func (h *AuthHandler) SendResetPasswordEmail(c *web.Context, req domain.ResetUserPasswordEmailReq) error

SendResetPasswordEmail 发送重置密码邮件

@Summary		发送重置密码邮件
@Description	重置指定用户的密码,并发送重置邮件
@Tags			【用户】密码管理
@Accept			json
@Produce		json
@Param			req	body		domain.ResetUserPasswordEmailReq	true	"重置密码请求"
@Success		200	{object}	web.Resp{}							"成功"
@Failure		401	{object}	web.Resp							"未授权"
@Failure		500	{object}	web.Resp							"服务器内部错误"
@Router			/api/v1/users/passwords/reset-request [put]

func (*AuthHandler) Status

func (h *AuthHandler) Status(c *web.Context) error

Status 检查登录状态接口

@Summary		检查用户登录状态
@Description	检查当前用户是否已登录,返回认证状态和用户信息
@Tags			【用户】认证
@Accept			json
@Produce		json
@Success		200	{object}	web.Resp{data=domain.TeamUserInfo}	"成功"
@Router			/api/v1/users/status [get]

func (*AuthHandler) Update

func (h *AuthHandler) Update(c *web.Context, req domain.UpdateUserReq) error

Update 更新用户信息

@Summary		更新用户信息
@Description	更新用户昵称和头像
@Tags			【用户】用户
@Accept			multipart/form-data
@Produce		json
@Security		MonkeyCodeAIAuth
@Param			name		formData	string	false	"昵称"
@Param			avatar_url	formData	string	false	"OSS 头像地址"
@Success		200			{object}	web.Resp{data=domain.UpdateUserResp}
@Router			/api/v1/users [put]

func (*AuthHandler) VerifyBindEmail

func (h *AuthHandler) VerifyBindEmail(c *web.Context, req domain.VerifyBindEmailReq) error

VerifyBindEmail 验证邮箱绑定

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL