Files
APIPark/module/application-authorization/auth-driver/basic/basic.go
T
2024-08-12 21:38:09 +08:00

49 lines
1.0 KiB
Go

package basic
import (
"encoding/json"
"fmt"
auth_driver "github.com/APIParkLab/APIPark/module/application-authorization/auth-driver"
application_authorization_dto "github.com/APIParkLab/APIPark/module/application-authorization/dto"
)
var _ auth_driver.IAuthConfig = &Config{}
var (
driver = "basic"
)
func init() {
auth_driver.RegisterAuthFactory(driver, auth_driver.NewFactory[Config](driver))
}
type Config struct {
UserName string `json:"user_name"`
Password string `json:"password"`
Label map[string]string `json:"label"`
}
func (cfg *Config) ID() string {
return cfg.UserName
}
func (cfg *Config) Valid() ([]byte, error) {
if cfg.UserName == "" {
return nil, fmt.Errorf("username is empty")
}
if cfg.Password == "" {
return nil, fmt.Errorf("password is empty")
}
return json.Marshal(cfg)
}
func (cfg *Config) Detail() []application_authorization_dto.DetailItem {
return []application_authorization_dto.DetailItem{
{Key: "用户名", Value: cfg.UserName},
{Key: "密码", Value: cfg.Password},
}
}