AWS Cognito
Pelajari cara mengonfigurasi LibreChat untuk menggunakan AWS Cognito demi autentikasi pengguna.
Membuat User Pool baru di Cognito
- Kunjungi: https://console.aws.amazon.com/cognito/
- Masuk sebagai Root User
- Klik
Create user pool
Mengonfigurasi pengalaman masuk
Opsi masuk user pool Cognito Anda harus menyertakan User Name dan Email.
Konfigurasi Persyaratan Keamanan
Anda sekarang dapat mengonfigurasi persyaratan kata sandi jika diinginkan
Mengonfigurasi pengalaman pendaftaran
Pilih atribut yang diperlukan saat pendaftaran. Atribut minimum yang diperlukan adalah name. Jika Anda ingin mewajibkan pengguna untuk menggunakan nama lengkap mereka saat mendaftar, gunakan: given_name dan family_name sebagai atribut yang diperlukan.
Mengonfigurasi pengiriman pesan
Mengirim email dengan Cognito dapat digunakan secara gratis hingga 50 email per hari
Integrasikan aplikasi Anda
Pilih Use Cognitio Hosted UI dan tentukan nama domain
Atur tipe aplikasi ke Confidential client
Pastikan Generate a client secret telah diatur.
Atur Allowed callback URLs ke https://YOUR_DOMAIN/oauth/openid/callback
Di bawah Advanced app client settings pastikan Profile disertakan dalam OpenID Connect scopes (di bagian bawah)
Tinjau dan buat
Anda sekarang dapat melakukan perubahan menit terakhir, klik pada Create user pool setelah Anda selesai meninjau konfigurasi tersebut
Dapatkan variabel lingkungan Anda
- Buka User Pool Anda
User Pool IDdan region AWS Anda akan digunakan untuk menyusunOPENID_ISSUER(lihat di bawah)
- Buka tab
App Integrations
- Buka klien aplikasi
- Alihkan
Show Client Secret
-
Gunakan
Client IDuntukOPENID_CLIENT_ID -
Gunakan
Client secretuntukOPENID_CLIENT_SECRET -
Buat string acak untuk
OPENID_SESSION_SECRET
OPENID_SCOPEdanOPENID_CALLBACK_URLtelah dikonfigurasi sebelumnya dengan nilai yang benar
- Buka file
.envdi root folder LibreChat Anda dan tambahkan variabel berikut dengan nilai yang telah Anda salin:
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]
Jika Cognito dikonfigurasi dengan penyedia OIDC, yaitu federasi ke Entra, makaOPENID_GENERATE_NONCE=truediperlukan. Jika tidak, Cognito akan tetap menghasilkannya dan validasi klaim akan gagal karena klien tidak menyediakannya.
- Simpan file .env
Catatan: Jika menggunakan Docker, jalankan
docker compose up -duntuk menerapkan perubahan konfigurasi .env
Bagaimana panduan ini?