[API Node] Allow authentification via Comfy API key (#3815)

Co-authored-by: github-actions <github-actions@github.com>
This commit is contained in:
Christian Byrne
2025-05-09 10:42:03 -07:00
committed by GitHub
parent aa46524829
commit 34b1fd5a72
17 changed files with 692 additions and 108 deletions

View File

@@ -1232,8 +1232,27 @@
"unauthorizedDomain": "Your domain {domain} is not authorized to use this service. Please contact {email} to add your domain to the whitelist."
},
"auth": {
"apiKey": {
"title": "API Key",
"label": "API Key",
"description": "Use your Comfy API key to enable API Nodes",
"placeholder": "Enter your API Key",
"error": "Invalid API Key",
"storageFailed": "Failed to store API Key",
"storageFailedDetail": "Please try again.",
"stored": "API Key stored",
"storedDetail": "Your API Key has been stored successfully",
"cleared": "API Key cleared",
"clearedDetail": "Your API Key has been cleared successfully",
"invalid": "Invalid API Key",
"invalidDetail": "Please enter a valid API Key",
"helpText": "Need an API key?",
"generateKey": "Get one here",
"whitelistInfo": "About non-whitelisted sites"
},
"login": {
"title": "Log in to your account",
"useApiKey": "Comfy API Key",
"signInOrSignUp": "Sign In / Sign Up",
"forgotPasswordError": "Failed to send password reset email",
"passwordResetSent": "Password reset email sent",
@@ -1290,6 +1309,8 @@
"required": "Required",
"minLength": "Must be at least {length} characters",
"maxLength": "Must be no more than {length} characters",
"prefix": "Must start with {prefix}",
"length": "Must be {length} characters",
"password": {
"requirements": "Password requirements",
"minLength": "Must be between 8 and 32 characters",

View File

@@ -29,6 +29,24 @@
"title": "Se requiere iniciar sesión para usar los nodos de API"
},
"auth": {
"apiKey": {
"cleared": "Clave API eliminada",
"clearedDetail": "Tu clave API se ha eliminado correctamente",
"description": "Usa tu clave API de Comfy para habilitar los nodos de API",
"error": "Clave API no válida",
"generateKey": "Consíguela aquí",
"helpText": "¿Necesitas una clave API?",
"invalid": "Clave API no válida",
"invalidDetail": "Por favor, introduce una clave API válida",
"label": "Clave API",
"placeholder": "Introduce tu clave API",
"storageFailed": "No se pudo guardar la clave API",
"storageFailedDetail": "Por favor, inténtalo de nuevo.",
"stored": "Clave API guardada",
"storedDetail": "Tu clave API se ha guardado correctamente",
"title": "Clave API",
"whitelistInfo": "Acerca de los sitios no incluidos en la lista blanca"
},
"login": {
"andText": "y",
"confirmPasswordLabel": "Confirmar contraseña",
@@ -56,6 +74,7 @@
"termsLink": "Términos de uso",
"termsText": "Al hacer clic en \"Siguiente\" o \"Registrarse\", aceptas nuestros",
"title": "Inicia sesión en tu cuenta",
"useApiKey": "Clave API de Comfy",
"userAvatar": "Avatar de usuario"
},
"passwordUpdate": {
@@ -1330,6 +1349,7 @@
},
"validation": {
"invalidEmail": "Dirección de correo electrónico inválida",
"length": "Debe tener {length} caracteres",
"maxLength": "No debe tener más de {length} caracteres",
"minLength": "Debe tener al menos {length} caracteres",
"password": {
@@ -1342,6 +1362,7 @@
"uppercase": "Debe contener al menos una letra mayúscula"
},
"personalDataConsentRequired": "Debes aceptar el procesamiento de tus datos personales.",
"prefix": "Debe comenzar con {prefix}",
"required": "Requerido"
},
"welcome": {

View File

@@ -29,6 +29,24 @@
"title": "Connexion requise pour utiliser les nœuds API"
},
"auth": {
"apiKey": {
"cleared": "Clé API supprimée",
"clearedDetail": "Votre clé API a été supprimée avec succès",
"description": "Utilisez votre clé API Comfy pour activer les nœuds API",
"error": "Clé API invalide",
"generateKey": "Obtenez-en une ici",
"helpText": "Besoin d'une clé API ?",
"invalid": "Clé API invalide",
"invalidDetail": "Veuillez entrer une clé API valide",
"label": "Clé API",
"placeholder": "Entrez votre clé API",
"storageFailed": "Échec de lenregistrement de la clé API",
"storageFailedDetail": "Veuillez réessayer.",
"stored": "Clé API enregistrée",
"storedDetail": "Votre clé API a été enregistrée avec succès",
"title": "Clé API",
"whitelistInfo": "À propos des sites non autorisés"
},
"login": {
"andText": "et",
"confirmPasswordLabel": "Confirmer le mot de passe",
@@ -56,6 +74,7 @@
"termsLink": "Conditions d'utilisation",
"termsText": "En cliquant sur \"Suivant\" ou \"S'inscrire\", vous acceptez nos",
"title": "Connectez-vous à votre compte",
"useApiKey": "Clé API Comfy",
"userAvatar": "Avatar utilisateur"
},
"passwordUpdate": {
@@ -1330,6 +1349,7 @@
},
"validation": {
"invalidEmail": "Adresse e-mail invalide",
"length": "Doit comporter {length} caractères",
"maxLength": "Ne doit pas dépasser {length} caractères",
"minLength": "Doit contenir au moins {length} caractères",
"password": {
@@ -1342,6 +1362,7 @@
"uppercase": "Doit contenir au moins une lettre majuscule"
},
"personalDataConsentRequired": "Vous devez accepter le traitement de vos données personnelles.",
"prefix": "Doit commencer par {prefix}",
"required": "Requis"
},
"welcome": {

View File

@@ -29,6 +29,24 @@
"title": "APIードを使用するためにはサインインが必要です"
},
"auth": {
"apiKey": {
"cleared": "APIキーが削除されました",
"clearedDetail": "APIキーが正常に削除されました",
"description": "Comfy APIキーを使用してAPIードを有効にします",
"error": "無効なAPIキーです",
"generateKey": "こちらから取得",
"helpText": "APIキーが必要ですか",
"invalid": "無効なAPIキーです",
"invalidDetail": "有効なAPIキーを入力してください",
"label": "APIキー",
"placeholder": "APIキーを入力してください",
"storageFailed": "APIキーの保存に失敗しました",
"storageFailedDetail": "もう一度お試しください。",
"stored": "APIキーが保存されました",
"storedDetail": "APIキーが正常に保存されました",
"title": "APIキー",
"whitelistInfo": "ホワイトリストに登録されていないサイトについて"
},
"login": {
"andText": "および",
"confirmPasswordLabel": "パスワードの確認",
@@ -56,6 +74,7 @@
"termsLink": "利用規約",
"termsText": "「次へ」または「サインアップ」をクリックすると、私たちの",
"title": "アカウントにログインする",
"useApiKey": "Comfy APIキー",
"userAvatar": "ユーザーアバター"
},
"passwordUpdate": {
@@ -1330,6 +1349,7 @@
},
"validation": {
"invalidEmail": "無効なメールアドレス",
"length": "{length}文字でなければなりません",
"maxLength": "{length}文字以下でなければなりません",
"minLength": "{length}文字以上でなければなりません",
"password": {
@@ -1342,6 +1362,7 @@
"uppercase": "少なくとも1つの大文字を含む必要があります"
},
"personalDataConsentRequired": "個人データの処理に同意する必要があります。",
"prefix": "{prefix}で始める必要があります",
"required": "必須"
},
"welcome": {

View File

@@ -29,6 +29,24 @@
"title": "API 노드 사용에 필요한 로그인"
},
"auth": {
"apiKey": {
"cleared": "API 키 삭제됨",
"clearedDetail": "API 키가 성공적으로 삭제되었습니다",
"description": "Comfy API 키를 사용하여 API 노드를 활성화하세요",
"error": "유효하지 않은 API 키",
"generateKey": "여기에서 받기",
"helpText": "API 키가 필요하신가요?",
"invalid": "유효하지 않은 API 키",
"invalidDetail": "유효한 API 키를 입력해 주세요",
"label": "API 키",
"placeholder": "API 키를 입력하세요",
"storageFailed": "API 키 저장 실패",
"storageFailedDetail": "다시 시도해 주세요.",
"stored": "API 키 저장됨",
"storedDetail": "API 키가 성공적으로 저장되었습니다",
"title": "API 키",
"whitelistInfo": "비허용 사이트에 대하여"
},
"login": {
"andText": "및",
"confirmPasswordLabel": "비밀번호 확인",
@@ -56,6 +74,7 @@
"termsLink": "이용 약관",
"termsText": "\"다음\" 또는 \"가입하기\"를 클릭하면 우리의",
"title": "계정에 로그인",
"useApiKey": "Comfy API 키",
"userAvatar": "사용자 아바타"
},
"passwordUpdate": {
@@ -1330,6 +1349,7 @@
},
"validation": {
"invalidEmail": "유효하지 않은 이메일 주소",
"length": "{length}자여야 합니다",
"maxLength": "{length}자를 초과할 수 없습니다",
"minLength": "{length}자 이상이어야 합니다",
"password": {
@@ -1342,6 +1362,7 @@
"uppercase": "적어도 하나의 대문자를 포함해야 합니다"
},
"personalDataConsentRequired": "개인 데이터 처리에 동의해야 합니다.",
"prefix": "{prefix}(으)로 시작해야 합니다",
"required": "필수"
},
"welcome": {

View File

@@ -29,6 +29,24 @@
"title": "Требуется вход для использования API Nodes"
},
"auth": {
"apiKey": {
"cleared": "API-ключ удалён",
"clearedDetail": "Ваш API-ключ был успешно удалён",
"description": "Используйте ваш Comfy API-ключ для активации API-узлов",
"error": "Недействительный API-ключ",
"generateKey": "Получить здесь",
"helpText": "Нужен API-ключ?",
"invalid": "Недействительный API-ключ",
"invalidDetail": "Пожалуйста, введите действительный API-ключ",
"label": "API-ключ",
"placeholder": "Введите ваш API-ключ",
"storageFailed": "Не удалось сохранить API-ключ",
"storageFailedDetail": "Пожалуйста, попробуйте еще раз.",
"stored": "API-ключ сохранён",
"storedDetail": "Ваш API-ключ был успешно сохранён",
"title": "API-ключ",
"whitelistInfo": "О не включённых в белый список сайтах"
},
"login": {
"andText": "и",
"confirmPasswordLabel": "Подтвердите пароль",
@@ -56,6 +74,7 @@
"termsLink": "Условиями использования",
"termsText": "Нажимая \"Далее\" или \"Зарегистрироваться\", вы соглашаетесь с нашими",
"title": "Войдите в свой аккаунт",
"useApiKey": "Comfy API-ключ",
"userAvatar": "Аватар пользователя"
},
"passwordUpdate": {
@@ -1330,6 +1349,7 @@
},
"validation": {
"invalidEmail": "Недействительный адрес электронной почты",
"length": "Должно быть {length} символов",
"maxLength": "Должно быть не более {length} символов",
"minLength": "Должно быть не менее {length} символов",
"password": {
@@ -1342,6 +1362,7 @@
"uppercase": "Должен содержать хотя бы одну заглавную букву"
},
"personalDataConsentRequired": "Вы должны согласиться на обработку ваших персональных данных.",
"prefix": "Должно начинаться с {prefix}",
"required": "Обязательно"
},
"welcome": {

View File

@@ -29,6 +29,24 @@
"title": "使用API节点需要登录"
},
"auth": {
"apiKey": {
"cleared": "API 密钥已清除",
"clearedDetail": "您的 API 密钥已成功清除",
"description": "使用您的 Comfy API 密钥以启用 API 节点",
"error": "无效的 API 密钥",
"generateKey": "在这里获取",
"helpText": "需要 API 密钥?",
"invalid": "无效的 API 密钥",
"invalidDetail": "请输入有效的 API 密钥",
"label": "API 密钥",
"placeholder": "请输入您的 API 密钥",
"storageFailed": "API 密钥存储失败",
"storageFailedDetail": "请重试。",
"stored": "API 密钥已存储",
"storedDetail": "您的 API 密钥已成功存储",
"title": "API 密钥",
"whitelistInfo": "关于非白名单网站"
},
"login": {
"andText": "和",
"confirmPasswordLabel": "确认密码",
@@ -56,6 +74,7 @@
"termsLink": "使用条款",
"termsText": "点击“下一步”或“注册”即表示您同意我们的",
"title": "登录您的账户",
"useApiKey": "Comfy API 密钥",
"userAvatar": "用户头像"
},
"passwordUpdate": {
@@ -1330,6 +1349,7 @@
},
"validation": {
"invalidEmail": "无效的电子邮件地址",
"length": "必须为{length}个字符",
"maxLength": "不能超过{length}个字符",
"minLength": "必须至少有{length}个字符",
"password": {
@@ -1342,6 +1362,7 @@
"uppercase": "必须包含至少一个大写字母"
},
"personalDataConsentRequired": "您必须同意处理您的个人数据。",
"prefix": "必须以 {prefix} 开头",
"required": "必填"
},
"welcome": {