자격 증명 오버라이트
n8n v2.42요약
자격 증명 오버라이트를 사용하면 자격 증명 데이터를 전역으로 설정할 수 있습니다. 편집기 UI에서 n8n은 기본적으로 오버라이트된 모든 필드를 숨기므로, 사용자는 자격 증명의 "Connect" 버튼을 통해 OAuth로 인증할 수 있습니다.
자격 증명 오버라이트를 사용하면 자격 증명 데이터를 전역으로 설정할 수 있습니다. 이 데이터는 사용자에게 표시되지 않지만, n8n은 백그라운드에서 자동으로 이를 사용합니다. 예를 들어 클라이언트 시크릿을 노출하지 않고도 "Connect" 버튼으로 OAuth 로그인을 활성화할 수 있습니다.
편집기 UI에서 n8n은 기본적으로 오버라이트된 모든 필드를 숨기므로, 사용자는 자격 증명의 "Connect" 버튼을 통해 OAuth로 인증할 수 있습니다.
자격 증명 오버라이트를 구성하는 데 사용되는 환경 변수에 대해서는 자격 증명 환경 변수를 참고하세요.
REST API를 사용한 설정 방법과 기성 워크플로 템플릿을 포함하여 자격 증명 오버라이트를 설명하는 튜토리얼을 시청하세요:
이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요.
환경 변수 사용하기#
CREDENTIALS_OVERWRITE_DATA를 { CREDENTIAL_NAME: { PARAMETER: VALUE }}로 설정합니다.
이 방식은 권장되지 않습니다. 환경 변수는 n8n에서 보호되지 않으므로 데이터가 사용자에게 유출될 수 있습니다.
REST API 사용하기#
권장되는 방식은 커스텀 REST 엔드포인트를 사용하여 데이터를 로드하는 것입니다.
-
CREDENTIALS_OVERWRITE_ENDPOINT를 엔드포인트가 제공될 경로로 설정합니다:export CREDENTIALS_OVERWRITE_ENDPOINT=send-credentials선택적으로, 엔드포인트에 접근할 때 베어러 토큰을 요구하도록
CREDENTIALS_OVERWRITE_ENDPOINT_AUTH_TOKEN을 설정할 수 있습니다.인증 토큰이 없으면 보안상의 이유로 엔드포인트는 한 번만 호출될 수 있습니다.
-
오버라이트할 자격 증명이 담긴 JSON 파일을 준비합니다. 예를 들어, Asana와 GitHub용
oauth-credentials.json파일은 다음과 같습니다:{ "asanaOAuth2Api": { "clientId": "<id>", "clientSecret": "<secret>" }, "githubOAuth2Api": { "clientId": "<id>", "clientSecret": "<secret>" } } -
파일을 n8n 인스턴스로 전송합니다:
curl -H "Content-Type: application/json" --data @oauth-credentials.json http://localhost:5678/send-credentialsCREDENTIALS_OVERWRITE_ENDPOINT_AUTH_TOKEN이secure-token으로 설정된 경우:curl -H "Content-Type: application/json" -H "Authorization: Bearer secure-token" --data @oauth-credentials.json http://localhost:5678/send-credentials
자격 증명은 다른 자격 증명을 확장할 수 있습니다. 예를 들어, googleSheetsOAuth2Api는 googleOAuth2Api를 확장합니다. 부모(googleOAuth2Api)에 파라미터를 설정하면 모든 하위 자격 증명이 해당 값을 사용합니다.
OAuth 스코프 필드 표시#
기본적으로 n8n은 관리형 OAuth를 사용할 수 있으면 스코프 필드를 숨깁니다. 특정 관리형 OAuth 자격 증명 유형에 대해 사용자가 스코프를 구성할 수 있게 하려면 N8N_MANAGED_OAUTH_SHOW_SCOPES를 쉼표로 구분된 목록으로 설정하세요:
export N8N_MANAGED_OAUTH_SHOW_SCOPES=googleOAuth2Api
이 설정은 목록에 나열한 자격 증명 유형에만 적용됩니다. 나열한 유형을 확장하는 자격 증명 유형에는 적용되지 않습니다.
사용자가 직접 스코프를 설정하게 하면 검증된 OAuth 앱이 문제를 일으킬 수 있습니다. Google을 비롯한 많은 제공업체는 앱 검증 과정에서 앱이 요청하는 모든 스코프를 정의하고 그 사유를 소명하도록 요구합니다. 사용자가 선언하지 않은 스코프를 추가하면 제공업체가 앱을 일시 중지하거나 차단할 수 있습니다. 사용자가 스코프를 추가해도 앱 검증에 위험이 없는 자격 증명 유형에 대해서만 이 설정을 활성화하세요.
영속성#
자격 증명 오버라이트를 데이터베이스에 저장하고 다중 인스턴스 또는 큐 모드의 모든 워커에 전파하려면 다음을 활성화하세요:
export CREDENTIALS_OVERWRITE_PERSISTENCE=true
활성화하면 n8n은 암호화된 오버라이트를 settings 테이블에 저장하고 reload-overwrite-credentials 이벤트를 브로드캐스트하여 워커가 최신 값을 다시 로드하도록 합니다. 비활성화하면 오버라이트는 이를 로드한 프로세스의 메모리에만 남아 있으며, n8n은 이를 워커에 전파하거나 재시작 시에도 유지하지 않습니다.