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

AWS Cognito

Pelajari cara mengonfigurasi LibreChat untuk menggunakan AWS Cognito demi autentikasi pengguna.

Membuat User Pool baru di Cognito

image

Mengonfigurasi pengalaman masuk

Opsi masuk user pool Cognito Anda harus menyertakan User Name dan Email.

image

Konfigurasi Persyaratan Keamanan

Anda sekarang dapat mengonfigurasi persyaratan kata sandi jika diinginkan

image

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.

image

Mengonfigurasi pengiriman pesan

Mengirim email dengan Cognito dapat digunakan secara gratis hingga 50 email per hari

image

Integrasikan aplikasi Anda

Pilih Use Cognitio Hosted UI dan tentukan nama domain

image

Atur tipe aplikasi ke Confidential client Pastikan Generate a client secret telah diatur. Atur Allowed callback URLs ke https://YOUR_DOMAIN/oauth/openid/callback

image

Di bawah Advanced app client settings pastikan Profile disertakan dalam OpenID Connect scopes (di bagian bawah)

image

Tinjau dan buat

Anda sekarang dapat melakukan perubahan menit terakhir, klik pada Create user pool setelah Anda selesai meninjau konfigurasi tersebut

image

image

image

image

Dapatkan variabel lingkungan Anda

  1. Buka User Pool Anda

image

  1. User Pool ID dan region AWS Anda akan digunakan untuk menyusun OPENID_ISSUER (lihat di bawah)

image image

  1. Buka tab App Integrations

image

  1. Buka klien aplikasi

image

  1. Alihkan Show Client Secret

image

  • Gunakan Client ID untuk OPENID_CLIENT_ID

  • Gunakan Client secret untuk OPENID_CLIENT_SECRET

  • Buat string acak untuk OPENID_SESSION_SECRET

OPENID_SCOPE dan OPENID_CALLBACK_URL telah dikonfigurasi sebelumnya dengan nilai yang benar

  1. Buka file .env di 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, maka OPENID_GENERATE_NONCE=true diperlukan. Jika tidak, Cognito akan tetap menghasilkannya dan validasi klaim akan gagal karena klien tidak menyediakannya.

  1. Simpan file .env

Catatan: Jika menggunakan Docker, jalankan docker compose up -d untuk menerapkan perubahan konfigurasi .env

Bagaimana panduan ini?