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
- Şurayı ziyaret edin: https://console.aws.amazon.com/cognito/
- Root Kullanıcı Olarak Oturum Açın
Create user poolöğesine tıklayın
Oturum açma deneyimini yapılandırın
Cognito kullanıcı havuzu oturum açma seçenekleriniz User Name ve Email içermelidir.
Güvenlik Gereksinimlerini Yapılandırın
İsterseniz parola gereksinimlerini şimdi yapılandırabilirsiniz
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.
İleti teslimatını yapılandırın
Cognito ile e-posta gönderme, günde 50 e-postaya kadar ücretsiz olarak kullanılabilir
Uygulamanızı entegre edin
Use Cognitio Hosted UI seçeneğini işaretleyin ve bir alan adı seçin
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.
Advanced app client settings altında, (en alttaki) OpenID Connect scopes kısmına Profile değerinin eklendiğinden emin olun.
İ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.
Ortam değişkenlerinizi alın
- Kullanıcı Havuzunuzu (User Pool) açın
User Pool IDve AWS bölgeniz,OPENID_ISSUERdeğerini oluşturmak için kullanılacaktır (aşağıya bakın).
App Integrationssekmesine gidin
- Uygulama istemcisini açın
Show Client Secretseçeneğini aç/kapat
-
OPENID_CLIENT_IDiçinClient IDkullanın -
OPENID_CLIENT_SECRETiçinClient secretkullanın -
OPENID_SESSION_SECRETiçin rastgele bir dize oluşturun
OPENID_SCOPEveOPENID_CALLBACK_URLdeğerleri, doğru değerlerle önceden yapılandırılmıştır.
- LibreChat klasörünüzün kök dizinindeki
.envdosyası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=truegereklidir. 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.
- .env dosyasını kaydedin
Not: Docker kullanıyorsanız, .env yapılandırma değişikliklerini uygulamak için
docker compose up -dkomutunu çalıştırın.
Bu rehber nasıl?