비즈니스용 Facebook 로그인

비즈니스용 Facebook 로그인은 Meta 비즈니스 도구와의 통합을 빌드하여 마케팅, 메시지 및 판매 솔루션을 개발하고자 하는 기술 제공업체가 선호하는 인증 및 승인 솔루션입니다.

비즈니스용 Facebook 로그인을 사용하면 앱의 요구 사항에 따라 Meta 앱 대시보드에서 로그인 경험을 만들 수 있습니다. 액세스 토큰 유형, 자산, 앱에 필요한 권한을 지정하고 구성으로 저장할 수 있습니다. 앱이 비즈니스 자산에 액세스할 수 있는 권한을 부여하는 이 구성이 로그인 중에 앱 사용자에게 표시됩니다.

요구 사항

  • Meta 앱은 비즈니스 유형 앱이어야 합니다.
  • 로그인 중에 앱에서 요청하는 모든 권한은 앱 사용자가 부여해야 합니다. 그렇지 않으면 앱에 아무 권한도 부여되지 않습니다.
  • emailpublic_profile 권한은 모든 앱에 자동으로 부여되지만 각 앱 설치 시 적어도 하나 이상의 다른 지원되는 권한을 포함해야 합니다.
  • 자신이 소유하거나 관리하지 않는 비즈니스에 서비스를 제공하려면 앱이 고급 액세스 권한을 Meta 앱 검수를 통해 승인받아야 합니다.
  • 고급 액세스 권한이 있는 앱의 경우 액세스 권한을 유지하려면 정기 검수를 받아야 합니다. 그러나 비즈니스용 Facebook 로그인을 사용하는 앱은 비즈니스 권한과 기능으로만 액세스가 제한되기 때문에 특정 지속적 규정 준수 검수에 대한 요구 사항이 완화되었습니다.

지원되는 권한

다음 표에 비즈니스용 Facebook 로그인에 사용할 수 있는 권한이 나와 있습니다.

사용 가능한 권한사용자 액세스 토큰비즈니스 통합 시스템 사용자 액세스 토큰(WhatsApp)
ads_management

ads_read

business_management

catalog_management

commerce_account_manage_orders

commerce_account_read_orders

commerce_account_read_reports

commerce_account_read_settings

commerce_manage_accounts

email

해당 없음

instagram_basic

instagram_content_publish

instagram_manage_comments

instagram_manage_insights

instagram_manage_messages

instagram_shopping_tag_products

leads_retrieval

manage_app_solutions

manage_fundraisers

pages_manage_cta

page_events

pages_manage_ads

pages_manage_engagement

pages_manage_instant_articles

pages_manage_metadata

pages_manage_posts

pages_messaging

pages_read_engagement

pages_read_user_content

pages_show_list

private_computation_access

public_profile

해당 없음

publish_video

read_insights

read_audience_network_insights

whatsapp_business_management

whatsapp_business_messaging

지원되는 기능

  • 광고 관리 표준 액세스
  • 비즈니스 자산 사용자 프로필 액세스
  • 인간 상담원
  • Instagram 전체 공개 콘텐츠 액세스
  • 라이브 방송 API
  • 페이지 언급
  • 페이지 전체 공개 콘텐츠 액세스
  • 페이지 전체 공개 메타데이터 액세스

지원되는 액세스 토큰

비즈니스용 Facebook 로그인을 사용하여 비즈니스 통합 시스템 사용자 액세스 토큰이나 사용자 액세스 토큰을 가져올 수 있습니다.

사용자 액세스 토큰

앱이 사용자의 입력에 따라 실시간으로 조치를 취하는 경우 사용자 액세스 토큰을 사용해야 합니다. 예를 들어 앱에서 사용자가 페이지에 콘텐츠를 게시하기 위해 텍스트를 입력하고 버튼을 클릭하도록 요구하는 경우 사용자 액세스 토큰을 사용합니다. 비즈니스 포트폴리오에서 관리자 권한이 필요한 API를 사용해야 하는 경우에도 사용자 액세스 토큰을 사용해야 합니다.

비즈니스 통합 시스템 사용자 액세스 토큰

비즈니스 통합 시스템 사용자 액세스 토큰은 앱이 앱 사용자의 입력 내용을 사용하거나 나중에 재인증할 필요 없이 비즈니스 클라이언트의 자산에 대해 프로그래밍 방식의 자동 작업을 수행할 경우에 사용해야 합니다. 예를 들면 다음과 같습니다.

  • 시간당 자동 서버 간 전환 API 호출
  • Facebook 페이지 또는 WhatsApp Business 포트폴리오로 자동화된 답변 보내기
  • 제품 카탈로그 인벤토리에 대한 지속적인 자동 업데이트
  • 광고 인사이트의 자동 검색

요구 사항

비즈니스 클라이언트로부터 비즈니스 통합 사용자 액세스 토큰을 얻는 방법은 다음과 같습니다.

  • 앱은 웹 화면에서만 로그인을 요청할 수 있습니다.
  • 앱에 온보딩하는 비즈니스는 비즈니스 포트폴리오가 있거나 이를 만들 의향이 있어야 합니다.
  • 앱은 사용자가 전체 관리 권한을 보유한 비즈니스 포트폴리오에 연결되어 있어야 합니다. 이는 비즈니스 클라이언트가 소유한 비즈니스 포트폴리오와는 별개여야 합니다.

비즈니스 통합 시스템 사용자 액세스 토큰 플로를 테스트하려면 테스터가 앱에서 역할을 부여받고 클라이언트 비즈니스에 대한 전체 관리 권한이 있어야 합니다.

세분화된 비즈니스 통합 시스템 사용자 액세스 토큰

목적이나 부서에 따라 다른 액세스 설정이 필요한 경우, 클라이언트 비즈니스에 따라 여러 개의 세분화된 비즈니스 통합 시스템 사용자 액세스 토큰을 사용하여 통합의 확장성과 보안을 향상할 수 있습니다.

세분화된 액세스 토큰은 여전히 클라이언트 비즈니스의 포트폴리오에 따라 달라집니다. 세분화된 액세스 토큰은 여러 클라이언트 비즈니스에 걸쳐 공유 및 액세스가 불가능합니다. 세분화된 액세스 토큰의 범위와 자산 리스트는 원래 비즈니스 통합 시스템 사용자 액세스 토큰의 하위 집합입니다.

토큰이 손상된 경우 잠재적인 보안 인시던트를 격리하기 위해, 모든 클라이언트 비즈니스의 모든 비즈니스 포트폴리오가 아닌 해당 특정 클라이언트 비즈니스만 영향을 받습니다.

비즈니스 통합 시스템 사용자 액세스 토큰 관리 API

클라이언트 비즈니스가 비즈니스용 Facebook 로그인을 통해 앱을 설치하고 비즈니스 통합 시스템 사용자 액세스 토큰을 생성하면 토큰에 클라이언트 비즈니스 ID가 포함됩니다. 이 ID는 클라이언트 비즈니스를 나타내고 앱에서 API 호출을 보내는 데 사용합니다.

/<CLIENT_BUSINESS_ID>/system_user_access_tokens 엔드포인트를 사용하면 기존 비즈니스 통합 시스템 사용자 액세스 토큰을 관리할 수 있습니다. 여기에는 다음과 같은 조치가 포함됩니다.

  • 기존 비즈니스 통합 시스템 사용자 액세스 토큰에서 세분화된 비즈니스 통합 시스템 사용자 액세스 토큰 생성
  • 기존 비즈니스 통합 시스템 사용자 액세스 토큰 가져오기
매개변수
개체설명

access_token문자열

필수 항목. 이 액세스 토큰은 business_management 권한이 필요합니다.

appsecret_proof문자열

필수 항목.appsecret_proof는 서버에서 보내는 API 호출이 더욱 안전하도록 해주는 액세스 토큰의 sha256 해시입니다.

asset정수

선택 사항. 더욱 세분화된 토큰을 생성하고자 할 경우, 쉼표로 구분된 asset ID의 리스트를 설정할 수 있습니다. 자산 리스트는 원래 액세스 토큰에 있는 자산의 하위 집합이어야 합니다.

fetch_only부울

선택 사항. 기존 토큰을 가져오고 이 작업이 읽기 전용임을 나타내고자 할 때 사용하려는 플래그입니다.

scope부울

선택 사항. 더욱 세분화된 토큰을 생성하고자 할 경우, 쉼표로 구분된 scope ID의 리스트를 설정할 수 있습니다. 자산 리스트는 원래 액세스 토큰에 설정된 범위의 하위 집합이어야 합니다.

set_token_expires_in_60_days부울

선택 사항. 새 토큰을 생성할 때 true로 설정하면 토큰이 60일 이내에 만료됩니다.

system_user_id정수

선택 사항. 액세스 토큰에 포함되는 시스템 사용자 ID입니다.

요청 샘플

가독성을 높이기 위해 형식을 지정했습니다.

curl -i -X POST "https://graph.facebook.com/v21.0/<CLIENT_BUSINESS_ID>/system_user_access_tokens
    ?appsecret_proof=<APPSECRET_PROOF_HASH>
    &access_token=<ACCESS_TOKEN>
    &system_user_id=<SYSTEM_USER_ID>
    &fetch_only=true"

요청에 성공하면 앱에서 이후의 API 호출에 사용할 새로운 액세스 토큰이 포함된 JSON 응답을 받습니다.

{
  "access_token": "<NEW_ACCESS_TOKEN>" 
}

비교

비즈니스 통합 시스템 사용자 액세스 토큰사용자 액세스 토큰

액세스 지정

액세스는 승인 시점에 명시적으로 위임됩니다. 앱은 비즈니스용 Facebook 로그인 플로를 완료한 경우에만 비즈니스 클라이언트가 지정한 자산에 액세스할 수 있습니다. 기술 제공업체에만 적용됩니다.

액세스 권한은 앱 사용자의 현재 계정 액세스 권한에서 상속되며, 앱은 현재 액세스하는 것과 동일한 비즈니스 자산에 액세스할 수 있습니다.

계정 연결

특정 사용자가 아니라 비즈니스 클라이언트의 비즈니스 포트폴리오와 연결합니다. 비즈니스 클라이언트의 관리자 그룹에 있는 관리자는 앱에 시스템 사용자 액세스 토큰을 부여할 수 있습니다.

앱 사용자의 Facebook 계정과 연결합니다.

만료 및 갱신

일반적인 오프라인 서버 간 통신에는 만료 기한 없음을 기본값으로 설정합니다.

온라인 활동(예: 웹 브라우저)에 대한 단기 실행 토큰입니다.

OAuth 부여 유형

인증 코드 부여에만 해당됩니다.

묵시적 부여가 기본적으로 설정되며, 보안을 향상하기 위해 인증 코드 부여를 지원할 수 있습니다. 주로 웹 브라우저, 모바일 앱 등의 사용자 에이전트 기반 클라이언트에 사용됩니다.

대표

기술 제공업체의 앱 설치를 통해 클라이언트 비즈니스에서 초기화한 기술 제공업체 통합의 인프라에 포함됩니다.

비즈니스 관리자가 소유하거나 관리하는 자산으로 API 요청을 보내는 서버나 소프트웨어를 대표합니다.

토큰 무효화

비즈니스 클라이언트는 비즈니스 관리자 > 설정 > 비즈니스 설정 > 통합 > 연결된 앱으로 이동해서 앱을 제거하면 비즈니스 통합 시스템 사용자 액세스 토큰을 무효화할 수 있습니다.

비즈니스 클라이언트는 Facebook에서 설정 및 개인정보 보호 > 설정 > 보안 및 로그인 > 비즈니스 통합으로 이동하고 앱을 삭제하여 사용자 액세스 토큰을 무효화할 수 있습니다.

로그인 플로 경험

사용자 액세스 토큰 로그인 플로비즈니스 통합 사용자 액세스 토큰 로그인 플로
문제가 발생했습니다
이 동영상을 재생하는 중 문제가 발생했습니다.
문제가 발생했습니다
이 동영상을 재생하는 중 문제가 발생했습니다.

시작하기

앱이 없는 경우 비즈니스용 Facebook 로그인을 설정하는 데 필요한 단계는 다음과 같습니다.

앱 만들기

  1. Meta 앱 대시보드에서 비즈니스 유형 앱을 만듭니다.
  2. 비즈니스용 Facebook 로그인 제품을 추가합니다.
  3. 왼쪽 메뉴에서 구성을 선택합니다.
  4. + 구성 만들기로 구성을 만들거나 템플릿으로 만들기로 Meta 기본 설정 구성을 선택할 수 있습니다. 여러 개의 구성을 만들어 서로 다른 사용자 세트에 표시할 수 있습니다.
  5. 구성의 이름을 지정합니다.
  6. 비즈니스 클라이언트에서 요청하고자 하는 액세스 토큰 유형, 사용자 액세스 토큰 또는 시스템 사용자 액세스 토큰 및 토큰 만료 기간을 선택합니다. 사용자 액세스 토큰을 선택한다면 앱 사용자가 개인용 Facebook 계정을 사용하여 로그인할 것입니다. 시스템 사용자 액세스 토큰을 선택한다면 앱 사용자가 비즈니스 포트폴리오를 사용하여 로그인해야 합니다. 이 토큰은 이 구성에 비즈니스 자산(예: Facebook 페이지, 광고 계정, Instagram 계정)에 대한 지속적인 액세스 권한이 필요할 경우에만 필요합니다.
  7. 앱에서 액세스해야 하는 모든 자산을 선택합니다.
  8. 앱에 필요한 권한을 선택하고 만들기를 클릭합니다.

코드에서 로그인 대화 상자를 호출하는 데 사용할 구성 ID를 받게 됩니다.

WhatsApp Business 플랫폼 임베디드 가입 구성 만들기

WhatApp 임베디드 가입 구성을 만들려면 WhatsApp 임베디드 가입 가이드를 참조하세요.

비즈니스 메시지를 위한 전환 API 구성 만들기

비즈니스 메시지를 위한 전환 API 구성을 만들려면 마케팅 API – 비즈니스 메시지 전환을 위한 API 가이드를 참조하세요.

Instagram 그래프 API 구성 만들기

Instagram 그래프 API 구성을 만들려면 Instagram 그래프 API 문서를 참조하세요.

로그인 대화 상자 호출

SDK 중 하나를 사용하여 로그인 대화 상자를 호출하거나(권장) 로그인 플로를 수동으로 빌드합니다.

SDK로 호출하기

Facebook의 임의 SDK를 사용하여 앱에 필요한 범위(권한) 리스트를 구성 ID와 앱 토큰에 필요한 OAuth 부여 유형으로 대체하면 로그인 대화 상자를 호출할 수 있습니다.

SDK에 익숙하지 않은 경우에는 먼저 JavaScript SDK를 설치하고 소비자 Facebook 로그인 제품을 사용해 본 다음, 진행하는 것이 좋습니다. 다음의 예시는 SDK를 참조합니다.

비즈니스 통합 시스템 사용자 액세스 토큰 구성

시스템 사용자 액세스 토큰에 대한 구성을 사용하도록 수정된 JavaScript SDK의 FB.login() 메서드 예시는 다음과 같습니다. config_idscope(사용해서는 안 됨)를 대체하였고 response_typecode로 설정되었습니다. SUAT은 인증 코드 부여 유형이 필요하기 때문입니다. override_default_response_typetrue로 설정해야 합니다. 이를 true로 설정하면 response_type으로 전달된 응답 유형이 기본 유형보다 우선됩니다.

FB.login(
  function(response) [
    console.log(response);
  ],
  [
    config_id: '<CONFIG_ID>',
    response_type: 'code',
    override_default_response_type: true
  ]
);

사용자가 로그인 대화 상자 플로를 완료하면 사용자가 리디렉션 URL로 리디렉션되고 코드가 포함됩니다. 그러면 Facebook 서버로 서버 간 호출을 수행하여 이 코드를 액세스 토큰으로 교환해야 합니다.

GET https://graph.facebook.com/v21.0/oauth/access_token?
  client_id=<APP_ID>
  &client_secret=<APP_SECRET>
  &code=<CODE>

이 단계에 대한 자세한 내용은 코드를 액세스 토큰으로 교환을 참조하세요.

사용자 액세스 토큰 구성

사용자 액세스 토큰에 대한 구성을 사용하도록 수정된 JavaScript SDK의 FB.login() 메서드 예시는 다음과 같습니다. config_idscope를 대체했습니다(scope를 포함해도 되지만 사용하지 않는 것이 좋음).

FB.login(
  function(response) {
    console.log(response);
  },
  {
    config_id: '<CONFIG_ID>' // configuration ID goes here
  }
);

사용자 액세스 토큰 구성을 사용하도록 수정된 JavaScript SDK의 로그인 버튼의 예시는 다음과 같습니다.

<fb:login-button config_id="<CONFIG_ID>" onlogin="checkLoginState();"></fb:login-button>

수동 로그인 플로 빌드

로그인 대화 상자를 수동으로 호출하는 방법에 대한 자세한 내용은 로그인 플로 수동으로 빌드하기를 참조하세요. 로그인 대화 상자를 호출하고 리디렉션 URL을 설정할 때는 구성 ID를 선택적 매개변수로 포함합니다(scope를 포함해도 되지만 사용하지 않는 것이 좋음).

config_id=<CONFIG_ID>

비즈니스용 Facebook 로그인으로 전환

비즈니스용 Facebook 로그인으로 전환하기 전에 테스트를 수행하고 잠재적 문제에 대해 알아보는 것이 좋습니다.

비즈니스용 Facebook 로그인은 비즈니스 유형 앱에 제공됩니다.

앱이 비즈니스용 Facebook 로그인으로 전환할 자격을 충족하는 경우 다음 단계를 따르면 옵트인 배너를 볼 수 있습니다.

  1. 앱 대시보드에서 앱을 선택합니다.
  2. Facebook 로그인 제품으로 이동하거나 이를 추가합니다.
  3. 왼쪽 메뉴에서 설정 또는 빠른 시작 중 하나를 클릭합니다.
  4. 페이지 상단에 있는 '비즈니스용 Facebook 로그인 시작하기' 버튼을 클릭합니다.

비즈니스용 Facebook 로그인으로 전환하더라도 기존의 액세스 토큰은 영향받지 않습니다. 또한 이 앱과 연결된 모든 테스트 앱도 비즈니스용 Facebook 로그인으로 전환됩니다.

비즈니스용 Facebook 로그인으로 전환하고 나면 앱 유형이 비즈니스 유형으로 지정됩니다. 앱이 의도한 대로 작동하지 않을 경우에는 전환 후 30일 이내에 Facebook 로그인으로 각 앱을 롤백할 수 있습니다.

문제 해결

비즈니스 클라이언트는 다음과 같은 이유로 오류 메시지가 발생할 수 있습니다.

  • 구성 ID가 잘못됨
  • 현재 비즈니스 시스템 사용자 액세스 토큰이 모바일 기기에서 지원되지 않음
  • 비즈니스 시스템 사용자 액세스 토큰이 잘못된 response_type으로 설정됨

잠재적 핵심 변경 사항:

  • 앱 유형이 현재 없음일 경우 비즈니스용 Facebook 로그인으로 전환하면 앱 유형이 비즈니스로 변경되고 위에 나열된 권한, 기능, 제품에 대한 액세스 권한만 유지됩니다.
  • 비즈니스용 Facebook 로그인이 지원하지 않는 비즈니스 클라이언트에서 권한 또는 기능을 요청할 경우, 앱이 비즈니스용 Facebook 로그인으로 전환되면 해당 권한과 기능은 즉시 취소됩니다.
  • 비즈니스 클라이언트에 email 및/또는 public_profile만 요청하는 경우, 앱을 비즈니스용 Facebook 로그인으로 전환하면 해당 클라이언트에 대해 설치된 모든 기존 토큰이 무효화됩니다.
  • 앱이 비즈니스용 Facebook 로그인과 Meta 비즈니스 확장 도구를 모두 사용할 경우, Meta 비즈니스 확장 도구 경험이 비즈니스용 Facebook 로그인에서 지원하는 권한으로 제한됩니다.
  • 비즈니스 자산 사용자 프로필 액세스는 Meta API를 통해 사용자 프로필 데이터를 액세스하고 관리하는 방식에 영향을 미칠 수 있습니다.
  • 비즈니스용 Facebook 로그인의 로그인 대화 상자가 구성 ID를 통해 호출되고 Facebook 로그인으로 롤백하기로 결정한 경우, 로그인 대화 상자를 읽어들이지 못할 수 있습니다. Facebook 로그인은 config_id 매개변수를 지원하지 않으므로 config_id 매개변수를 scope 매개변수로 바꿔야 하기 때문입니다.

Meta 비즈니스 확장 도구에 대해 자세히 알아보세요.

Facebook 로그인으로 전환

기존 앱이 비즈니스용 Facebook 로그인으로 전환된 경우에만 사용할 수 있습니다. 새로 만든 비즈니스 유형 앱은 Facebook 로그인으로 전환할 수 없습니다.

비즈니스용 Facebook 로그인으로 전환한 후 앱이 의도한 대로 작동하지 않을 경우, 앱 대시보드 > 비즈니스용 Facebook 로그인 > 설정으로 이동하여 Facebook 로그인으로 전환 링크를 클릭하면 롤백할 수 있습니다. 그러면 비즈니스용 Facebook 로그인 구성 환경을 개선하는 데 도움이 되는 설문조사가 표시됩니다. 각 앱은 비즈니스용 Facebook 로그인으로 전환 후 30일 이내에 Facebook 로그인으로 롤백할 수 있습니다.

FAQ

The easiest way to add Facebook Login for Business is to create a new Business Type app, where Facebook Login for Business is automatically available, and request supported business permissions through Meta App Review. If you want to use it for an existing None type app, your app must have advanced access to at least one supported business permission.

If you are not a Tech Provider building solutions using Meta’s business APIs, Facebook Login is recommended for consumer authentication.

Only request the minimum permissions necessary for your app's functionality. Be transparent with users about why you need each permissions and features. Note that the email and public_profile permissions must be requested with at least one other supported business permission.

Yes, advanced access to the public_profile permission is required for Facebook Login for Business apps before they go live. This requirement is crucial to ensure that the app can support authorization from users who do not have an app role, commonly referred to as external users.