Passport.js ile Logto Entegrasyonu
Passport.js ile Logto'yu entegre etmek için uygulamalı bir rehber ve örnek.
Passport.js ile Logto'yu entegre etmek için uygulamalı bir rehber ve örnek.
Passport.js , Express tabanlı herhangi bir web uygulamasına kesintisiz bir şekilde eklenebilen, Node.js için bir kimlik doğrulama ara yazılımıdır. Bu kapsamlı rehber, Logto'yu Passport.js ile entegre etmenin basit ama etkili bir yolunu sunan passport-openidconnect eklentisini kullanmaya odaklanacaktır. Bu eğitim boyunca uygulamamızı oluşturmak için Express.js kullanacağız. Tartışacağımız tüm kodlar, halka açık bir GitHub deposunda mevcuttur.
Entegrasyon sürecine dalmadan önce, Express.js ve oturum ara yazılımını yükleyerek temel projeyi kurmamız gerekecek.
Bir TypeScript proje ortamınızın hazır olduğunu varsayarak (eğer değilse, resmi TypeScript belgelerine başvurun), gerekli paketleri yükleyerek başlayın:
src/app.ts dosyasını aşağıdaki kodla oluşturun:
Bu script, Express uygulamasını başlatır ve Passport.js'de kimlik doğrulama sonuçlarını depolamak için kritik olan çerez bazlı oturum yönetimi için cookieParser ve session ara yazılımını yapılandırır. Ardından hizmeti başlatmak için http modülünü kullanır.
Devam etmek için bir Logto uygulaması gereklidir. Logto Konsolu adresini ziyaret ederek, "Uygulamalar"a giderek ve "Uygulama Oluştur"a tıklayarak bir tane oluşturun. "Express"i seçin, uygulamanıza bir isim verin ve "Uygulama Oluştur"a tıklayın.

Oluşturma rehberini tamamladıktan veya okuduktan sonra, sonraki adımlar için yapılandırma bilgileri içeren ayrıntılı bir sayfa bulacaksınız.

Uygulama detayları sayfasında iki değeri yapılandırın:
http://localhost:3000/callback olarak ayarlayın.http://localhost:3000 kullanın.Bu değerleri daha sonra değiştirebilirsiniz.
passport ve OIDC strateji eklentisini, passport-openidconnect’i yükleyin:
Yapılandırma yönetimi için app/config.ts oluşturun:
Çevresel değişkenleri uygun şekilde kurun:
| Çevresel Değişken | Açıklama | Örnek |
|---|---|---|
APP_ID | Logto'dan Uygulama ID'si | 4ukboxxxxxxxxx |
APP_SECRET | Logto'dan Uygulama Şifresi | 5aqccxxxxxxx |
ENDPOINT | Logto Endpoint | https://g5xxx.logto.app/ |
src/passport.ts oluşturun
Bu kod Passport'u OpenIDConnectStrategy ile başlatır. Serialize ve deserialize yöntemleri, gösterim amacıyla ayarlanmıştır.
Uygulamanızda Passport ara yazılımını başlattığınızdan ve eklediğinizden emin olun:
Şimdi kimlik doğrulama süreçleri için belirli rotaları oluşturacağız:
/sign-inBu rota, bir OIDC kimlik doğrulama rotası oluşturur ve yönlendirir.
/callbackBu, OIDC oturum açma geri aramasını işler, tokenları saklar ve ana sayfaya yönlendirir.
/sign-outBu, Logto’nun oturum sonu URL'sine ve ardından ana sayfaya yeniden yönlendirir.
Kimlik doğrulama durumu ile ana sayfayı geliştirin:
Burada, JSON.stringify kullanılarak kullanıcı bilgileri görüntülenir ve request.user'ın varlığı rotaları korumak için kullanılır.
Passport.js ile Logto'yu entegre ettiğiniz için tebrikler. Umarım bu rehber, mevcut sistemlerden Logto kullanmaya geçmenize yardımcı olabilir. Gelişmiş bir kimlik doğrulama deneyimi için bugün Logto Cloud'u denemeyi düşünebilirsiniz. İyi kodlamalar!