Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

Apple

LibreChat에서 사용자 인증을 위해 Apple을 사용하도록 설정하는 방법을 알아보세요.

필수 조건

시작하기 전에 다음 사항을 준비했는지 확인하세요:

  • Apple Developer Account: 계정이 없으시다면 여기에서 등록하세요.

새로운 App ID 생성하기

1. Apple Developer Console에 로그인합니다.

2. 식별자(Identifiers)로 이동

  • Certificates, Identifiers & Profiles로 이동하세요.
  • 사이드바에서 Identifiers를 클릭하세요.

3. 새로운 App ID 생성하기

  1. "+" 버튼을 클릭하여 새 식별자를 추가하세요.
  2. App IDs를 선택하고 Continue를 클릭하세요.
  3. App을 선택하고 Continue를 클릭하세요.
  4. App ID에 대한 설명(예: LibreChat App ID)을 입력하세요.
  5. Bundle ID를 설정합니다(예: com.yourdomain.librechat).
  6. Continue을 클릭한 다음 Register를 클릭하세요.
  • 이미지 참조:

  • Create App ID 그림 1: 새 App ID 생성

  • Select App 그림 2: 앱 식별자 선택

4. "Sign in with Apple" 활성화

  1. App ID를 생성한 후, 클릭하여 편집하세요.
  2. Capabilities 아래에서 Sign in with Apple을 찾아 체크하세요.
  3. Save를 클릭합니다.
  • 이미지 참조:
  • Enable Sign in with Apple 그림 3: "Sign in with Apple" 활성화

Services ID 생성하기

1. 식별자(Identifiers)로 이동

  • Certificates, Identifiers & Profiles 섹션에서 Identifiers를 클릭하세요.

2. 새로운 Services ID 생성하기

  1. "+" 버튼을 클릭하세요.
  2. Services IDs를 선택하고 Continue를 클릭하세요.
  3. 설명(예: LibreChat Services ID)을 입력하세요.
  4. Identifier(예: com.yourdomain.librechat.services)를 입력하세요.
  5. Continue을 클릭한 다음 Register를 클릭하세요.
  • 이미지 참조:

  • Select Services ID 그림 4: 서비스 ID 선택

  • Create Services ID 그림 5: 서비스 ID 생성

3. "Sign in with Apple" 구성하기

  1. 새로 생성된 Services ID를 클릭하세요.
  2. Capabilities 아래에서 Sign in with Apple 옆의 Configure를 클릭하세요.
  3. Domains(예: your-domain.com) 및 Return URLs(예: https://your-domain.com/oauth/apple/callback)를 입력하세요.
  4. Next를 클릭한 다음 Register를 클릭하세요.
  • 이미지 참조:

  • Configure Sign in with Apple 그림 6: 서비스 ID에 대한 "Apple로 로그인" 구성

  • Web Authentication Configuration 그림 7: 웹 인증 구성

  • Web Authentication Configuration 그림 8: 서비스 ID 구성 편집 저장


키 생성하기

1. Keys로 이동

  • Certificates, Identifiers & Profiles 섹션에서 Keys를 클릭하세요.

2. 새 키 생성

  1. "+" 버튼을 클릭하여 새 키를 추가하세요.
  2. Key Name(예: LibreChatSignInWithApple)을 입력하세요.
  3. Capabilities 아래에서 Sign in with Apple을 선택하세요.
  4. Configure를 클릭하고 생성한 App ID(예: com.yourdomain.librechat)를 선택한 다음 Save를 클릭합니다.
  5. Continue을 클릭한 다음 Register를 클릭하세요.
  • 이미지 참조:

  • Create Key 그림 8: 새 키 생성

  • Configure Key 그림 9: App ID로 키 구성하기

  • Register a New Key 그림 10: 키 등록하기

3. 개인 키(Private Key) 다운로드

  1. 키를 생성한 후, Download를 클릭하세요.
  2. 중요: .p8 파일을 안전하게 저장하세요. 다시는 다운로드할 수 없습니다.
  3. Key ID를 기록해 두세요. .env 파일에 필요합니다.
  • 이미지 참조:
  • Download Your Key 그림 11: 개인 키 다운로드

LibreChat 구성하기

1. .env 구성 업데이트

.env 파일에 다음 Apple OAuth2 구성을 추가하세요:

DOMAIN_CLIENT=https://your-domain.com # use http://localhost:3080 if not using a custom domain
DOMAIN_SERVER=https://your-domain.com # use http://localhost:3080 if not using a custom domain

# Apple
APPLE_CLIENT_ID=com.yourdomain.librechat.services
APPLE_TEAM_ID=YOUR_TEAM_ID
APPLE_KEY_ID=YOUR_KEY_ID
APPLE_PRIVATE_KEY_PATH=/path/to/AuthKey.p8 # Absolute path to your downloaded .p8 file
APPLE_CALLBACK_URL=/oauth/apple/callback

참고:

  • com.yourdomain.librechat.services를 실제 Services ID로 바꾸세요.
  • YOUR_TEAM_IDYOUR_KEY_ID를 Apple Developer 계정의 해당 값으로 바꿉니다.
  • Docker를 사용하는 경우, .p8 파일이 Docker 컨테이너 내에서 액세스 가능한지 확인하고 그에 따라 APPLE_PRIVATE_KEY_PATH를 업데이트하세요.

2. LibreChat 재시작

.env 파일을 업데이트한 후, 변경 사항을 적용하려면 LibreChat을 다시 시작하세요.

  • Docker를 사용하는 경우:
docker compose up -d

문제 해결

설정 중에 문제가 발생하면 다음 해결 방법을 고려해 보세요:

  • 잘못된 리디렉션 URI:

    • Apple Developer Console의 리디렉션 URI(https://your-domain.com/oauth/apple/callback)가 .env 파일에 지정된 URI(APPLE_CALLBACK_URL)와 정확히 일치하는지 확인하세요.
  • Private Key 문제:

    • .p8 파일 경로(APPLE_PRIVATE_KEY_PATH)가 올바른지 확인하세요.
    • LibreChat이 .p8 파일에 대한 읽기 권한을 가지고 있는지 확인하세요.
  • Team ID 및 Key ID 오류:

    • .env 파일의 APPLE_TEAM_IDAPPLE_KEY_ID가 Apple Developer 계정의 정보와 일치하는지 다시 한번 확인하세요.
  • 도메인 확인 실패:

    • 인증 파일이 도메인의 루트에 올바르게 업로드되었는지 확인하세요.
    • 구성 중에 입력한 도메인 이름에 오타가 없는지 확인하세요.
  • Docker 구성 문제:

    • Docker를 사용하는 경우, .p8 파일이 올바르게 마운트되었는지, 그리고 APPLE_PRIVATE_KEY_PATH의 경로가 컨테이너 내에서 액세스 가능한지 확인하세요.
  • 로그 확인:

    • LibreChat 로그를 검토하여 Apple 인증과 관련된 오류 메시지가 있는지 확인하세요. 이는 무엇이 잘못되었는지에 대한 구체적인 통찰력을 제공할 수 있습니다.

이 가이드는 어떤가요?