| 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 != "" { |
| |
| |
| 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 |
| } |
|
|