Türkçe
  • 404-not-found
  • logto-unknown-session
  • authorization-code-flow

Logto entegrasyonlu uygulamada giriş yaparken neden 404 hatası görebilirsin

Hiç Logto entegrasyonlu bir uygulamaya giriş yapmaya çalışırken "404 Bulunamadı" hatası ile karşılaştın mı? Bu blog yazısı, bu durumun neden olduğunu ve bunu nasıl önleyebileceğini açıklıyor.

Charles
Charles
Developer

Kullanıcı kimlik doğrulamasına haftalar harcamayı bırakın
Logto ile güvenli uygulamaları daha hızlı yayınlayın. Kullanıcı kimlik doğrulamasını dakikalar içinde entegre edin ve temel ürününüze odaklanın.
Başlayın
Product screenshot

Arka Plan

Hiç kimlik doğrulama için Logto kullanan bir uygulamaya giriş yapmaya çalışıp "404 bulunamadı" hatası ile karşılaştın mı? Son kullanıcılarından herhangi biri de aynı sorunu bildirdi mi?

Logto oturumu bulunamadı 404 hatası ekran görüntüsü

Bu, doğrudan giriş sayfasına (örn. https://your-app.com/sign-in) uygulamanın giriş akışından geçmeden eriştiğinde meydana gelebilir.

Sebebi ise şu:

OIDC akışının önemi

Logto, güvenli kimlik doğrulama için OpenID Connect (OIDC) protokolünü kullanır. Normal uygulama akışıyla (örn. tipik olarak uygulaman üzerinden bir giriş düğmesine tıklayarak) oturum açtığında, uygulama Logto’nun OIDC sunucusuyla iletişim başlatır. "Yetkilendirme isteği" olarak adlandırılan bu iletişim önemlidir; çünkü öncelikle çağıranı çeşitli doğrulamalardan geçirir ve ardından tarayıcın ve sunucu (çerezler tarafından yönetilir) arasında güvenli bir oturum oluşturur.

Sorun, kullanıcılar doğrudan "/sign-in" sayfasına gittiğinde ortaya çıkar; çünkü bu, uygulamanın OIDC yetkilendirme isteğini tetikleyen iç mantığını atlar. Sonuç olarak, sunucu tarayıcını geçerli bir oturuma sahip olarak tanımaz ve bu da 404 hatasına yol açar.

Çözüm

Bu sorundan kaçınmanın iki ana yolu vardır:

Her zaman uygulamanın giriş düğmesini kullan

Doğrudan "/sign-in" sayfasına erişmek yerine uygulamanın sağladığı giriş akışını takip et. Uygulamada "Giriş yap" düğmesine tıkladığında, uygun OIDC yetkilendirme isteği başlatılır ve gerekli oturum oluşturulur.

Kullanıcıları otomatik olarak yönlendir

Logto örneğinde sadece bir uygulaman varsa, geçerli bir oturum olmadan "/sign-in" sayfasına gitme girişimlerini otomatik olarak kontrol edecek ve onları giriş düğmesinin gösterildiği ana sayfaya yönlendirecek bir mantık uygulamayı deneyebilirsin.

Bunu yönetmek için Logto "Bilinmeyen oturum yönlendirme URL’si" ayarını getirdi. Bu URL’yi ayarladığında, Logto 404 hatası göstermek yerine kullanıcıları belirttiğin sayfaya otomatik olarak yönlendirecektir. Örneğin, onları uygulamanın ana sayfasına ya da özel bir giriş ekranına yönlendirebilirsin. Yönlendirme sonrası, istemci uygulaman yeni bir giriş akışı başlatmalıdır.

Bunu yapılandırmak için Logto Konsolu’nda Logto Cloud > Giriş deneyimi > Kayıt ve giriş > Gelişmiş seçenekler altına giderek yedek URL’ni gir.

Örneğin, Logto Cloud bunu https://cloud.logto.io/ olarak ayarlar. Bir kez ayarladıktan sonra, geçerli oturum olmadan "/sign-in"’e giden kullanıcılar kimlik doğrulamayı başlatmak için o URL’ye yönlendirilir.

Kullanıcı deneyimini iyileştirmeye dair ek düşünceler

En azından "/unknown-session" sayfasında 404’ün sebebini açıklayan ve kullanıcılara ne yapacaklarını anlatan yardımcı mesajlar ekleyerek kullanıcı deneyimini iyileştirmeye çalışıyoruz. Örneğin, Logto giriş hatası sayfalarına özel destek e-posta adresi ve web sitesi eklemeyi destekler. Hata ile karşılaşan kullanıcılar böylece iletişim bilgilerini görebilir ve destek için ulaşabilirler.

Ayrıca, mevcut Logto örneğinde yalnızca bir uygulama tespit edildiğinde otomatik olarak "Sign-out redirect URI"ye (genellikle uygulamanın ana sayfası) yönlendirme veya böyle durumlar için özel mesajlar gösterecek ek yapılandırma gibi güvenli önlemleri de uygulamayı düşünebiliriz.

Sonuç

"/sign-in" sayfasında 404 bulunamadı (geçersiz oturum) hatası genellikle doğrudan giriş sayfası URL’sine erişilmesinden kaynaklanır. Bu, yetkilendirme isteğini tetikleyen normal uygulama giriş akışını atladığı ve bu yüzden geçerli bir oturum (çerezler tarafından yönetilen) kurulmadığı anlamına gelir.

Bu akışı ve önemini anladığında, hatadan kaçınabilir ve Logto entegrasyonlu uygulamanda sorunsuz bir giriş deneyimi yaşayabilirsin.

Fikirlerini paylaşmak istersen bizimle iletişime geçmekten çekinme.