| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- 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
- }
|