자격 증명 오버라이트
n8n v2.29자격 증명 오버라이트를 사용하면 자격 증명 데이터를 전역으로 설정할 수 있습니다. 편집기 UI에서 n8n은 기본적으로 오버라이트된 모든 필드를 숨기므로, 사용자는 자격 증명의 "Connect" 버튼을 통해 OAuth로 인증할 수 있습니다.
자격 증명 오버라이트를 사용하면 자격 증명 데이터를 전역으로 설정할 수 있습니다. 이 데이터는 사용자에게 표시되지 않지만, n8n은 백그라운드에서 자동으로 이를 사용합니다. 예를 들어 클라이언트 시크릿을 노출하지 않고도 "Connect" 버튼으로 OAuth 로그인을 활성화할 수 있습니다.
편집기 UI에서 n8n은 기본적으로 오버라이트된 모든 필드를 숨기므로, 사용자는 자격 증명의 "Connect" 버튼을 통해 OAuth로 인증할 수 있습니다.
자격 증명 오버라이트를 구성하는 데 사용되는 환경 변수에 대해서는 자격 증명 환경 변수를 참고하세요.
환경 변수 사용하기#
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)에 파라미터를 설정하면 모든 하위 자격 증명이 해당 값을 사용합니다.
영속성#
자격 증명 오버라이트를 데이터베이스에 저장하고 다중 인스턴스 또는 큐 모드의 모든 워커에 전파하려면 다음을 활성화하세요:
export CREDENTIALS_OVERWRITE_PERSISTENCE=true
활성화하면 n8n은 암호화된 오버라이트를 settings 테이블에 저장하고 reload-overwrite-credentials 이벤트를 브로드캐스트하여 워커가 최신 값을 다시 로드하도록 합니다. 비활성화하면 오버라이트는 이를 로드한 프로세스의 메모리에만 남아 있으며, n8n은 이를 워커에 전파하거나 재시작 시에도 유지하지 않습니다.