88 lines
2.1 KiB
Plaintext
88 lines
2.1 KiB
Plaintext
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 AcceptCookieHandler
|
|
post /api/auth/accept-cookie(request) 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);
|
|
|
|
@handler UserResetTokenHandler
|
|
get /api/auth/reset/token(RequestUserResetToken) returns (response);
|
|
|
|
@handler UserResetPasswordHandler
|
|
post /api/auth/reset/password(RequestUserResetPassword) returns (response);
|
|
}
|
|
|
|
type (
|
|
// UserAddAddressHandler 用户登录请求结构
|
|
RequestUserLogin {
|
|
Email string `json:"email"`
|
|
Password string `json:"password"`
|
|
}
|
|
|
|
// UserLoginHandler 用户登录请求结构
|
|
DataUserLogin {
|
|
Token string `json:"token"` // 登录jwt token
|
|
}
|
|
)
|
|
|
|
type (
|
|
|
|
// RequestUserResetToken 请求重置token, 一定不为null
|
|
RequestUserResetToken {
|
|
Wid string `json:"wid"`
|
|
}
|
|
|
|
// UserResetTokenHandler 返回重置token
|
|
DataResetToken {
|
|
ResetToken string `json:"reset_token"` // 获取重置的token
|
|
}
|
|
|
|
// RequestUserResetPassword 重置密码
|
|
RequestUserResetPassword {
|
|
ResetToken string `json:"reset_token"` // 附带重置token, 确保流程唯一
|
|
Password string `json:"password"` // 附带的hash密码
|
|
}
|
|
)
|
|
|
|
type RequestGoogleLogin {
|
|
Code string `form:"code"`
|
|
Scope string `form:"scope"`
|
|
AuthUser string `form:"authuser"`
|
|
Prompt string `form:"prompt"`
|
|
}
|
|
|
|
type RequestEmailConfirmation {
|
|
Token string `query:"token"` // 操作Token
|
|
}
|
|
|
|
type RequestEmailRegister {
|
|
Email string `json:"email"`
|
|
Wid string `json:"wid"`
|
|
GuestId uint64 `json:"guest_id"`
|
|
RegisterToken string `json:"register_token"`
|
|
}
|
|
|
|
// DataGuest 游客获取toekn请求结构
|
|
type DataGuest {
|
|
Token string `json:"token"` // 登录jwt token
|
|
} |