InfoGrab DocsInfoGrab Docs

자격 증명 오버라이트

요약

자격 증명 오버라이트를 사용하면 자격 증명 데이터를 전역으로 설정할 수 있습니다. 편집기 UI에서 n8n은 기본적으로 오버라이트된 모든 필드를 숨기므로, 사용자는 자격 증명의 "Connect" 버튼을 통해 OAuth로 인증할 수 있습니다.

자격 증명 오버라이트를 사용하면 자격 증명 데이터를 전역으로 설정할 수 있습니다. 이 데이터는 사용자에게 표시되지 않지만, n8n은 백그라운드에서 자동으로 이를 사용합니다. 예를 들어 클라이언트 시크릿을 노출하지 않고도 "Connect" 버튼으로 OAuth 로그인을 활성화할 수 있습니다.

편집기 UI에서 n8n은 기본적으로 오버라이트된 모든 필드를 숨기므로, 사용자는 자격 증명의 "Connect" 버튼을 통해 OAuth로 인증할 수 있습니다.

자격 증명 오버라이트를 구성하는 데 사용되는 환경 변수에 대해서는 자격 증명 환경 변수를 참고하세요.

REST API를 사용한 설정 방법과 기성 워크플로 템플릿을 포함하여 자격 증명 오버라이트를 설명하는 튜토리얼을 시청하세요:

참고

이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요.

환경 변수 사용하기#

CREDENTIALS_OVERWRITE_DATA를 { CREDENTIAL_NAME: { PARAMETER: VALUE }}로 설정합니다.

Warning

이 방식은 권장되지 않습니다. 환경 변수는 n8n에서 보호되지 않으므로 데이터가 사용자에게 유출될 수 있습니다.

REST API 사용하기#

권장되는 방식은 커스텀 REST 엔드포인트를 사용하여 데이터를 로드하는 것입니다.

  1. CREDENTIALS_OVERWRITE_ENDPOINT를 엔드포인트가 제공될 경로로 설정합니다:

    export CREDENTIALS_OVERWRITE_ENDPOINT=send-credentials
    

    선택적으로, 엔드포인트에 접근할 때 베어러 토큰을 요구하도록 CREDENTIALS_OVERWRITE_ENDPOINT_AUTH_TOKEN을 설정할 수 있습니다.

    인증 토큰이 없으면 보안상의 이유로 엔드포인트는 한 번만 호출될 수 있습니다.

  2. 오버라이트할 자격 증명이 담긴 JSON 파일을 준비합니다. 예를 들어, Asana와 GitHub용 oauth-credentials.json 파일은 다음과 같습니다:

    {
        "asanaOAuth2Api": {
            "clientId": "<id>",
            "clientSecret": "<secret>"
        },
        "githubOAuth2Api": {
            "clientId": "<id>",
            "clientSecret": "<secret>"
        }
    }
    
  3. 파일을 n8n 인스턴스로 전송합니다:

    curl -H "Content-Type: application/json" --data @oauth-credentials.json http://localhost:5678/send-credentials
    

    CREDENTIALS_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
    
Note

자격 증명은 다른 자격 증명을 확장할 수 있습니다. 예를 들어, googleSheetsOAuth2Api는 googleOAuth2Api를 확장합니다. 부모(googleOAuth2Api)에 파라미터를 설정하면 모든 하위 자격 증명이 해당 값을 사용합니다.

OAuth 스코프 필드 표시#

기본적으로 n8n은 관리형 OAuth를 사용할 수 있으면 스코프 필드를 숨깁니다. 특정 관리형 OAuth 자격 증명 유형에 대해 사용자가 스코프를 구성할 수 있게 하려면 N8N_MANAGED_OAUTH_SHOW_SCOPES를 쉼표로 구분된 목록으로 설정하세요:

export N8N_MANAGED_OAUTH_SHOW_SCOPES=googleOAuth2Api

이 설정은 목록에 나열한 자격 증명 유형에만 적용됩니다. 나열한 유형을 확장하는 자격 증명 유형에는 적용되지 않습니다.

Warning

사용자가 직접 스코프를 설정하게 하면 검증된 OAuth 앱이 문제를 일으킬 수 있습니다. Google을 비롯한 많은 제공업체는 앱 검증 과정에서 앱이 요청하는 모든 스코프를 정의하고 그 사유를 소명하도록 요구합니다. 사용자가 선언하지 않은 스코프를 추가하면 제공업체가 앱을 일시 중지하거나 차단할 수 있습니다. 사용자가 스코프를 추가해도 앱 검증에 위험이 없는 자격 증명 유형에 대해서만 이 설정을 활성화하세요.

영속성#

자격 증명 오버라이트를 데이터베이스에 저장하고 다중 인스턴스 또는 큐 모드의 모든 워커에 전파하려면 다음을 활성화하세요:

export CREDENTIALS_OVERWRITE_PERSISTENCE=true

활성화하면 n8n은 암호화된 오버라이트를 settings 테이블에 저장하고 reload-overwrite-credentials 이벤트를 브로드캐스트하여 워커가 최신 값을 다시 로드하도록 합니다. 비활성화하면 오버라이트는 이를 로드한 프로세스의 메모리에만 남아 있으며, n8n은 이를 워커에 전파하거나 재시작 시에도 유지하지 않습니다.

관련 리소스#

자격 증명 오버라이트

n8n v2.42
원문 보기

요약

자격 증명 오버라이트를 사용하면 자격 증명 데이터를 전역으로 설정할 수 있습니다. 편집기 UI에서 n8n은 기본적으로 오버라이트된 모든 필드를 숨기므로, 사용자는 자격 증명의 "Connect" 버튼을 통해 OAuth로 인증할 수 있습니다.

자격 증명 오버라이트를 사용하면 자격 증명 데이터를 전역으로 설정할 수 있습니다. 이 데이터는 사용자에게 표시되지 않지만, n8n은 백그라운드에서 자동으로 이를 사용합니다. 예를 들어 클라이언트 시크릿을 노출하지 않고도 "Connect" 버튼으로 OAuth 로그인을 활성화할 수 있습니다.

편집기 UI에서 n8n은 기본적으로 오버라이트된 모든 필드를 숨기므로, 사용자는 자격 증명의 "Connect" 버튼을 통해 OAuth로 인증할 수 있습니다.

자격 증명 오버라이트를 구성하는 데 사용되는 환경 변수에 대해서는 자격 증명 환경 변수를 참고하세요.

REST API를 사용한 설정 방법과 기성 워크플로 템플릿을 포함하여 자격 증명 오버라이트를 설명하는 튜토리얼을 시청하세요:

참고

이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요.

환경 변수 사용하기#

CREDENTIALS_OVERWRITE_DATA를 { CREDENTIAL_NAME: { PARAMETER: VALUE }}로 설정합니다.

Warning

이 방식은 권장되지 않습니다. 환경 변수는 n8n에서 보호되지 않으므로 데이터가 사용자에게 유출될 수 있습니다.

REST API 사용하기#

권장되는 방식은 커스텀 REST 엔드포인트를 사용하여 데이터를 로드하는 것입니다.

  1. CREDENTIALS_OVERWRITE_ENDPOINT를 엔드포인트가 제공될 경로로 설정합니다:

    export CREDENTIALS_OVERWRITE_ENDPOINT=send-credentials
    

    선택적으로, 엔드포인트에 접근할 때 베어러 토큰을 요구하도록 CREDENTIALS_OVERWRITE_ENDPOINT_AUTH_TOKEN을 설정할 수 있습니다.

    인증 토큰이 없으면 보안상의 이유로 엔드포인트는 한 번만 호출될 수 있습니다.

  2. 오버라이트할 자격 증명이 담긴 JSON 파일을 준비합니다. 예를 들어, Asana와 GitHub용 oauth-credentials.json 파일은 다음과 같습니다:

    {
        "asanaOAuth2Api": {
            "clientId": "<id>",
            "clientSecret": "<secret>"
        },
        "githubOAuth2Api": {
            "clientId": "<id>",
            "clientSecret": "<secret>"
        }
    }
    
  3. 파일을 n8n 인스턴스로 전송합니다:

    curl -H "Content-Type: application/json" --data @oauth-credentials.json http://localhost:5678/send-credentials
    

    CREDENTIALS_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
    
Note

자격 증명은 다른 자격 증명을 확장할 수 있습니다. 예를 들어, googleSheetsOAuth2Api는 googleOAuth2Api를 확장합니다. 부모(googleOAuth2Api)에 파라미터를 설정하면 모든 하위 자격 증명이 해당 값을 사용합니다.

OAuth 스코프 필드 표시#

기본적으로 n8n은 관리형 OAuth를 사용할 수 있으면 스코프 필드를 숨깁니다. 특정 관리형 OAuth 자격 증명 유형에 대해 사용자가 스코프를 구성할 수 있게 하려면 N8N_MANAGED_OAUTH_SHOW_SCOPES를 쉼표로 구분된 목록으로 설정하세요:

export N8N_MANAGED_OAUTH_SHOW_SCOPES=googleOAuth2Api

이 설정은 목록에 나열한 자격 증명 유형에만 적용됩니다. 나열한 유형을 확장하는 자격 증명 유형에는 적용되지 않습니다.

Warning

사용자가 직접 스코프를 설정하게 하면 검증된 OAuth 앱이 문제를 일으킬 수 있습니다. Google을 비롯한 많은 제공업체는 앱 검증 과정에서 앱이 요청하는 모든 스코프를 정의하고 그 사유를 소명하도록 요구합니다. 사용자가 선언하지 않은 스코프를 추가하면 제공업체가 앱을 일시 중지하거나 차단할 수 있습니다. 사용자가 스코프를 추가해도 앱 검증에 위험이 없는 자격 증명 유형에 대해서만 이 설정을 활성화하세요.

영속성#

자격 증명 오버라이트를 데이터베이스에 저장하고 다중 인스턴스 또는 큐 모드의 모든 워커에 전파하려면 다음을 활성화하세요:

export CREDENTIALS_OVERWRITE_PERSISTENCE=true

활성화하면 n8n은 암호화된 오버라이트를 settings 테이블에 저장하고 reload-overwrite-credentials 이벤트를 브로드캐스트하여 워커가 최신 값을 다시 로드하도록 합니다. 비활성화하면 오버라이트는 이를 로드한 프로세스의 메모리에만 남아 있으며, n8n은 이를 워커에 전파하거나 재시작 시에도 유지하지 않습니다.

관련 리소스#