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

Logto ile entegre edilen uygulamanıza giriş yaptığınızda neden 404 hatası alabilirsiniz

Logto ile entegre edilen bir uygulamaya giriş yapmaya çalıştığınızda "404 Not Found" hatasıyla karşılaştınız mı? Bu blog yazısı, bunun neden olduğunu ve bundan nasıl kaçınabileceğinizi açıklıyor.

Charles
Charles
Developer

Arka Plan

Logto'u kimlik doğrulama için kullanan bir uygulamaya giriş yapmayı denediniz mi ve "404 Not Found" hatasıyla karşılaştınız mı? Son kullanıcılarınızdan biri aynı sorunu bildirdi mi?

Logto oturum bulunamadı 404 hata ekran görüntüsü

Bu, uygulamanızdan geçilmesi gereken giriş akışını takip etmeden, doğrudan giriş sayfasına (ör. https://your-app.com/sign-in) erişmeye çalıştığınızda meydana gelebilir.

İşte nedeni:

OIDC akışının önemi

Logto, güvenli kimlik doğrulama için OpenID Connect (OIDC) protokolüne dayanır. Normal uygulama akışı üzerinden (ör. genellikle uygulamanızdan bir oturum açma düğmesine tıklayarak) giriş yaparken, uygulama Logto’nun OIDC sunucusuyla bir iletişim başlatır. "Yetkilendirme isteği" olarak adlandırılan bu iletişim, öncelikle çağırana karşı çeşitli doğrulamalar yaptığı ve ardından tarayıcınız ile sunucu arasında güvenli bir oturum oluşturduğu için önemlidir (çerezler tarafından yönetilir).

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

Çözüm

Bu sorunu önlemenin iki ana yolu vardır:

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

Doğrudan "/sign-in" sayfasına erişmek yerine, uygulama tarafından sağlanan uygun giriş akışını takip edin. Uygulamanın içindeki "Oturum aç" düğmesine tıkladığınızda, doğru OIDC yetkilendirme isteğini başlatır ve gerekli oturumu kurar.

Kullanıcıları otomatik olarak yönlendirin

Logto örneğinizde yalnızca bir uygulamanız varsa, kullanıcı oturumları geçersiz olan "/sign-in" sayfasına yaptığı denemeleri otomatik olarak engellemek ve onları giriş düğmesinin gösterildiği ana sayfanıza yönlendirmek için mantık uygulamayı deneyebilirsiniz. Bu, Logto'nun çoklu uygulamaların aynı kimlik doğrulama sistemini paylaşabilmesi nedeniyle "Omni-sign-in" doğası gereği yapılamaz ve bu nedenle böyle bir sayfa isteği geldiğinde, Logto hangi uygulamaya yönlendirme yapması gerektiğini bilemez.

Deneyimi iyileştirmeye yönelik ek düşünceler

Kullanıcı deneyimini, en azından "/unknown-session" sayfasında 404'ün nedenini açıklayan ve kullanıcıların kafasının karışmasını ve çaresiz kalmasını önlemek için ne yapmaları gerektiğini bildiren yararlı mesajlar ekleyerek iyileştirmeye çalışıyoruz.

Ayrıca, geçerli Logto örneği için yalnızca bir uygulama algılandığında otomatik olarak "Oturum kapatma yönlendirme URI'sine" (genellikle uygulamanın ana sayfası) yönlendirme yapmak veya bu durumda özelleştirilmiş mesaj gösterme seçeneği eklemek gibi başka güvenli önlemler uygulamayı düşünebiliriz.

Sonuç

"/sign-in" sayfasındaki 404 not found (geçersiz oturum) hatası genellikle oturum açma sayfası URL'sine doğrudan erişilmesi nedeniyle oluşur; bu, yetkilendirme isteğini tetikleyen normal uygulama oturum açma akışını atlatarak, geçerli bir oturumun (çerezler tarafından yönetilen) oluşturulmasını engeller.

Bu akışı ve önemini anlayarak, hatayı önleyebilir ve Logto ile entegre edilen uygulamanızla sorunsuz bir oturum açma deneyimi yaşayabilirsiniz.

Lütfen fikirlerinizi paylaşmak isterseniz bizimle iletişime geçmekten çekinmeyin.