mirror of
https://github.com/QuantumNous/new-api.git
synced 2026-03-30 10:14:41 +00:00
51 lines
1.5 KiB
Go
51 lines
1.5 KiB
Go
package system_setting
|
|
|
|
import (
|
|
"net/url"
|
|
"strings"
|
|
|
|
"github.com/QuantumNous/new-api/common"
|
|
"github.com/QuantumNous/new-api/setting/config"
|
|
)
|
|
|
|
type PasskeySettings struct {
|
|
Enabled bool `json:"enabled"`
|
|
RPDisplayName string `json:"rp_display_name"`
|
|
RPID string `json:"rp_id"`
|
|
Origins string `json:"origins"`
|
|
AllowInsecureOrigin bool `json:"allow_insecure_origin"`
|
|
UserVerification string `json:"user_verification"`
|
|
AttachmentPreference string `json:"attachment_preference"`
|
|
}
|
|
|
|
var defaultPasskeySettings = PasskeySettings{
|
|
Enabled: false,
|
|
RPDisplayName: common.SystemName,
|
|
RPID: "",
|
|
Origins: "",
|
|
AllowInsecureOrigin: false,
|
|
UserVerification: "preferred",
|
|
AttachmentPreference: "",
|
|
}
|
|
|
|
func init() {
|
|
config.GlobalConfig.Register("passkey", &defaultPasskeySettings)
|
|
}
|
|
|
|
func GetPasskeySettings() *PasskeySettings {
|
|
if defaultPasskeySettings.RPID == "" && ServerAddress != "" {
|
|
// 从ServerAddress提取域名作为RPID
|
|
// ServerAddress可能是 "https://newapi.pro" 这种格式
|
|
serverAddr := strings.TrimSpace(ServerAddress)
|
|
if parsed, err := url.Parse(serverAddr); err == nil && parsed.Host != "" {
|
|
defaultPasskeySettings.RPID = parsed.Host
|
|
} else {
|
|
defaultPasskeySettings.RPID = serverAddr
|
|
}
|
|
}
|
|
if defaultPasskeySettings.Origins == "" || defaultPasskeySettings.Origins == "[]" {
|
|
defaultPasskeySettings.Origins = ServerAddress
|
|
}
|
|
return &defaultPasskeySettings
|
|
}
|