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

Authentik

LibreChat에서 사용자 인증을 위해 Authentik을 구성하는 방법을 알아보세요.

  1. Authentik 관리자 인터페이스 액세스:
  • 브라우저에서 Authentik 관리자 인터페이스를 엽니다. https://authentik.example.com/if/admin/#/administration/overview와 같은 URL에서 찾을 수 있습니다.

    예시 URL로 https://authentik.example.com을 사용하겠습니다. 이를 귀하의 Authentik 인스턴스 URL로 바꾸십시오.

  1. 마법사를 사용하여 새로운 애플리케이션 및 공급자(Provider) 생성:
  • 왼쪽 사이드바에서 Applications 탭을 클릭한 다음, Applications를 다시 클릭하세요.
  • 페이지 상단에서 Create with Wizard라고 적힌 버튼을 볼 수 있습니다. 해당 버튼을 클릭하세요.

    참고: 애플리케이션과 제공자(provider)를 수동으로 생성할 수도 있지만, 생성 후 반드시 서로 연결해야 합니다.

  • 애플리케이션의 이름은 원하는 대로 지정할 수 있습니다. 이 예시에서는 LibreChat으로 이름을 지정하고 다음을 클릭하겠습니다.
  • OAuth2/OIDC 공급자를 선택하고 다음을 클릭하세요.
  • 인증 및 권한 부여 흐름을 선택하세요.
  • 아래로 스크롤하여 Client IDClient Secret을 기록해 두세요. 나중에 이 정보가 필요합니다.
  • 고급 프로토콜 설정(Advanced protocol settings)에서 Subject mode를 Based on the User's Email로 변경하세요.
  • 제출(Submit)을 클릭하세요.
  • 생성한 새 애플리케이션을 Outpost에 추가하세요.

    참고: 이 시점에서 LibreChat에 적용하려는 모든 접근 제어 정책도 함께 적용해야 합니다.

  1. .env를 위한 정보 수집:
  • Authentik에서 다음 정보가 필요합니다:
    • Client ID
    • Client Secret
    • OpenID Configuration URL

      이 모든 항목은 방금 생성한 공급자(provider)를 클릭하여 찾을 수 있습니다.

  1. LibreChat 구성:
  • .env 파일을 열고 다음 변수들을 추가하세요:
OPENID_ISSUER=https://authentik.example.com/application/o/librechat/.well-known/openid-configuration
OPENID_CLIENT_ID=[YourClientID]
OPENID_CLIENT_SECRET=[YourClientSecret]
OPENID_SESSION_SECRET=[JustGenerateARandomSessionSecret]
OPENID_CALLBACK_URL=/oauth/openid/callback
OPENID_SCOPE=openid profile email
# Optional customization below
OPENID_BUTTON_LABEL=Login with Authentik
OPENID_IMAGE_URL=https://cdn.jsdelivr.net/gh/selfhst/icons/png/authentik.png
# Generate nonce for federated identity providers that require it, i.e. Cognito configured with Entra as an OIDC provider.
OPENID_GENERATE_NONCE=true
# Redirects the user to the end session endpoint after logging out
OPENID_USE_END_SESSION_ENDPOINT=true

# Maximum logout URL length before using logout_hint instead of id_token_hint (default: 2000)
# OPENID_MAX_LOGOUT_URL_LENGTH=2000

참고: .env 파일 내의 값에 따옴표가 포함되지 않았는지 확인하고, 소셜 로그인이 허용되었는지 확인하세요.

  1. 구성 확인:
  • 변경 사항을 적용하려면 LibreChat을 재시작하세요.
  • 시크릿 창을 열고 LibreChat 인스턴스로 이동하세요.
  • 폼 로그인 아래에 Login with Authentik이라는 새 버튼이 있어야 합니다.
  • Authentik으로 리디렉션되어 로그인해야 합니다.
  • 로그인 후 LibreChat으로 다시 리디렉션되어 로그인된 상태가 되어야 합니다.
    • LibreChat으로 다시 리디렉션되지 않는 경우, Authentik 로그에서 오류가 있는지 확인하세요.

이 가이드는 어떤가요?