Documentation
¶
Index ¶
- func Login(log *slog.Logger, refreshTTL time.Duration, usrProvider UserProvider) func(w http.ResponseWriter, r *http.Request)
- func Refresh(log *slog.Logger, refresher UserRefresher) func(w http.ResponseWriter, r *http.Request)
- func Register(log *slog.Logger, reg UserRegister) func(w http.ResponseWriter, r *http.Request)
- type Auth
- type LoginResp
- type RefreshResp
- type RegisterResp
- type UserProvider
- type UserRefresher
- type UserRegister
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Login ¶
func Login( log *slog.Logger, refreshTTL time.Duration, usrProvider UserProvider, ) func(w http.ResponseWriter, r *http.Request)
Login @Summary Sign In @Tags auth @Description Sign in to the system @Accept json @Produce json @Param input body Request true "account info" @Success 200 {object} Response @Router /login [post]
func Refresh ¶
func Refresh( log *slog.Logger, refresher UserRefresher, ) func(w http.ResponseWriter, r *http.Request)
Refresh @Summary Refresh @Tags auth @Description Refresh access token @Accept json @Produce json @Param input body Request true "refresh token" @Success 200 {object} Response @Router /refresh [post]
func Register ¶
func Register( log *slog.Logger, reg UserRegister, ) func(w http.ResponseWriter, r *http.Request)
Register @Summary Register @Tags auth @Description Register new user @Accept json @Produce json @Param input body Request true "user info" @Success 200 {object} Response @Router /register [post]
Types ¶
type Auth ¶
type Auth interface {
UserProvider
UserRefresher
UserRegister
}
type RefreshResp ¶
type RefreshResp struct {
AccessToken string `json:"access_token"`
}
type RegisterResp ¶
type UserProvider ¶
type UserRefresher ¶
type UserRegister ¶
Click to show internal directories.
Click to hide internal directories.