Türkçe
  • passportjs
  • oidc
  • express

Passport.js ile Logto Entegrasyonu

Passport.js ile Logto'yu entegre etmek için uygulamalı bir rehber ve örnek.

Sijie
Sijie
Developer

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.

Oturum ile Express kurulumunu yapma

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:

Ana dosyayı hazırlama

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.

Logto uygulaması oluşturma

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.

Uygulama oluştur

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 detayı

URI'leri Ayarlama

Uygulama detayları sayfasında iki değeri yapılandırın:

  1. Yönlendirme URI'leri: Projenin geri çağırma rotasıyla uyumlu olması için bunu http://localhost:3000/callback olarak ayarlayın.
  2. Oturum Sonrası Yönlendirme URI'leri: Kullanıcıları oturum sonrası ana sayfaya yönlendirmek için basitlik adına http://localhost:3000 kullanın.

Bu değerleri daha sonra değiştirebilirsiniz.

Uygulama ayarlarıyla Passport.js yapılandırma

Bağımlılıkları yükleme

passport ve OIDC strateji eklentisini, passport-openidconnect’i yükleyin:

Yapılandırma dosyasını hazırlama

Yapılandırma yönetimi için app/config.ts oluşturun:

Çevresel değişkenleri uygun şekilde kurun:

Çevresel DeğişkenAçıklamaÖrnek
APP_IDLogto'dan Uygulama ID'si4ukboxxxxxxxxx
APP_SECRETLogto'dan Uygulama Şifresi5aqccxxxxxxx
ENDPOINTLogto Endpointhttps://g5xxx.logto.app/

Passport.js’i OIDC stratejisi ile başlatma

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:

Kimlik doğrulama rotalarını oluşturma

Şimdi kimlik doğrulama süreçleri için belirli rotaları oluşturacağız:

Giriş: /sign-in

Bu rota, bir OIDC kimlik doğrulama rotası oluşturur ve yönlendirir.

Giriş geri aramasını işleme: /callback

Bu, OIDC oturum açma geri aramasını işler, tokenları saklar ve ana sayfaya yönlendirir.

Çıkış: /sign-out

Bu, Logto’nun oturum sonu URL'sine ve ardından ana sayfaya yeniden yönlendirir.

Kimlik doğrulama durumunu alma ve rotaları koruma

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.

Sonuç

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!