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

Authentik

Dowiedz się, jak skonfigurować LibreChat do korzystania z Authentik w celu uwierzytelniania użytkowników.

  1. Dostęp do interfejsu administratora Authentik:
  • Otwórz interfejs administratora Authentik w swojej przeglądarce. Można go znaleźć pod adresem URL takim jak: https://authentik.example.com/if/admin/#/administration/overview.

    Jako przykładowego adresu URL użyjemy https://authentik.example.com. Zastąp go adresem URL swojej instancji Authentik.

  1. Utwórz nową aplikację i dostawcę za pomocą kreatora:
  • Kliknij kartę Applications na lewym pasku bocznym, a następnie ponownie kliknij Applications.
  • Na górze strony powinieneś zobaczyć przycisk z napisem Create with Wizard. Kliknij go.

    Uwaga: Możesz również utworzyć aplikację i dostawcę ręcznie, pamiętaj tylko, aby je później powiązać.

  • Możesz nazwać aplikację, jak tylko chcesz. W tym przykładzie nazwiemy ją LibreChat i klikniemy dalej.
  • Wybierz dostawcę OAuth2/OIDC i kliknij dalej.
  • Wybierz swoje przepływy uwierzytelniania i autoryzacji.
  • Przewiń w dół i zanotuj Client ID oraz Client Secret. Będą one potrzebne później.
  • W sekcji Advanced protocol settings zmień Subject mode na Based on the User's Email.
  • Kliknij Submit.
  • Dodaj nową aplikację, którą utworzyłeś, do Outpost.

    Uwaga: Na tym etapie należy również zastosować wszelkie zasady kontroli dostępu, które mają obowiązywać w LibreChat.

  1. Zbierz informacje dla .env:
  • Będziesz potrzebować następujących informacji z Authentik:
    • Client ID
    • Client Secret
    • OpenID Configuration URL

      Wszystkie z nich można znaleźć, klikając na dostawcę, którego właśnie utworzyłeś.

  1. Konfiguracja LibreChat:
  • Otwórz plik .env i dodaj następujące zmienne:
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

Uwaga: Upewnij się, że w pliku .env nic nie jest ujęte w cudzysłowy oraz że włączono logowanie społecznościowe.

  1. Sprawdź konfigurację:
  • Zrestartuj LibreChat, aby zastosować zmiany.
  • Otwórz okno incognito i przejdź do swojej instancji LibreChat.
  • Poniżej formularza logowania powinien znajdować się nowy przycisk z napisem Login with Authentik.
  • Powinieneś zostać przekierowany do Authentik w celu zalogowania się.
  • Po zalogowaniu powinieneś zostać przekierowany z powrotem do LibreChat i być zalogowany.
    • Jeśli nie zostaniesz przekierowany z powrotem do LibreChat, sprawdź logi Authentik pod kątem ewentualnych błędów.

Jaka jest ta instrukcja?