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

AWS Cognito

LibreChat'i kullanıcı kimlik doğrulaması için AWS Cognito kullanacak şekilde nasıl yapılandıracağınızı öğrenin.

Cognito'da yeni bir Kullanıcı Havuzu (User Pool) oluşturun

image

Oturum açma deneyimini yapılandırın

Cognito kullanıcı havuzu oturum açma seçenekleriniz User Name ve Email içermelidir.

image

Güvenlik Gereksinimlerini Yapılandırın

İsterseniz parola gereksinimlerini şimdi yapılandırabilirsiniz

image

Kayıt deneyimini yapılandırma

Kayıt sırasında gerekli olan öznitelikleri seçin. Gereken minimum öznitelik name değeridir. Kullanıcıların kayıt olurken tam adlarını kullanmalarını zorunlu kılmak istiyorsanız, gerekli öznitelikler olarak given_name ve family_name kullanın.

image

İleti teslimatını yapılandırın

Cognito ile e-posta gönderme, günde 50 e-postaya kadar ücretsiz olarak kullanılabilir

image

Uygulamanızı entegre edin

Use Cognitio Hosted UI seçeneğini işaretleyin ve bir alan adı seçin

image

Uygulama türünü Confidential client olarak ayarlayın. Generate a client secret seçeneğinin ayarlandığından emin olun. Allowed callback URLs kısmını https://YOUR_DOMAIN/oauth/openid/callback olarak ayarlayın.

image

Advanced app client settings altında, (en alttaki) OpenID Connect scopes kısmına Profile değerinin eklendiğinden emin olun.

image

İncele ve oluştur

Artık son dakika değişiklikleri yapabilirsiniz, yapılandırmayı gözden geçirmeyi bitirdiğinizde Create user pool öğesine tıklayın.

image

image

image

image

Ortam değişkenlerinizi alın

  1. Kullanıcı Havuzunuzu (User Pool) açın

image

  1. User Pool ID ve AWS bölgeniz, OPENID_ISSUER değerini oluşturmak için kullanılacaktır (aşağıya bakın).

image image

  1. App Integrations sekmesine gidin

image

  1. Uygulama istemcisini açın

image

  1. Show Client Secret seçeneğini aç/kapat

image

  • OPENID_CLIENT_ID için Client ID kullanın

  • OPENID_CLIENT_SECRET için Client secret kullanın

  • OPENID_SESSION_SECRET için rastgele bir dize oluşturun

OPENID_SCOPE ve OPENID_CALLBACK_URL değerleri, doğru değerlerle önceden yapılandırılmıştır.

  1. LibreChat klasörünüzün kök dizinindeki .env dosyasını açın ve kopyaladığınız değerlerle aşağıdaki değişkenleri ekleyin:
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

OPENID_CLIENT_ID=Your client ID
OPENID_CLIENT_SECRET=Your client secret
OPENID_ISSUER=https://cognito-idp.[AWS REGION].amazonaws.com/[USER POOL ID]/.well-known/openid-configuration
OPENID_SESSION_SECRET=Any random string
OPENID_SCOPE=openid profile email
OPENID_CALLBACK_URL=/oauth/openid/callback

# Optional: 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
# Optional: generates the nonce url parameter.
OPENID_GENERATE_NONCE=true

[!WARNING]
Eğer Cognito bir OIDC sağlayıcısı ile yapılandırılmışsa, yani Entra ile federasyon kurulmuşsa, OPENID_GENERATE_NONCE=true gereklidir. Aksi takdirde Cognito bunu her durumda oluşturacak ve istemci bir tane sağlamadığı için talep (claims) doğrulaması başarısız olacaktır.

  1. .env dosyasını kaydedin

Not: Docker kullanıyorsanız, .env yapılandırma değişikliklerini uygulamak için docker compose up -d komutunu çalıştırın.

Bu rehber nasıl?