mirror of
https://github.com/APIParkLab/APIPark.git
synced 2026-06-14 20:41:15 +08:00
54 lines
1.0 KiB
Go
54 lines
1.0 KiB
Go
package aksk
|
|
|
|
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{}
|
|
|
|
const (
|
|
driver = "aksk"
|
|
)
|
|
|
|
func init() {
|
|
auth_driver.RegisterAuthFactory(driver, auth_driver.NewFactory[Config](driver))
|
|
}
|
|
|
|
type Config struct {
|
|
Ak string `json:"ak"`
|
|
Sk string `json:"sk"`
|
|
Label map[string]string `json:"label"`
|
|
}
|
|
|
|
func (a *Config) ID() string {
|
|
return a.Ak
|
|
}
|
|
|
|
func (a *Config) Valid() ([]byte, error) {
|
|
if a.Ak == "" {
|
|
return nil, fmt.Errorf("access key is empty")
|
|
}
|
|
if a.Sk == "" {
|
|
return nil, fmt.Errorf("secret key is empty")
|
|
}
|
|
return json.Marshal(a)
|
|
}
|
|
|
|
func (a *Config) Detail() []application_authorization_dto.DetailItem {
|
|
return []application_authorization_dto.DetailItem{
|
|
{
|
|
Key: "Access Key",
|
|
Value: a.Ak,
|
|
},
|
|
{
|
|
Key: "Secret Key",
|
|
Value: a.Sk,
|
|
},
|
|
}
|
|
}
|