Türkçe
  • asp-net-core
  • c-sharp
  • tutorial
  • auth
  • authentication
  • oauth
  • oidc
  • identity

Logto ile ASP.NET Core kimlik doğrulama oluşturma

Logto SDK'yi entegre ederek ASP.NET Core ile bir kullanıcı kimlik doğrulama akışı oluşturmayı öğrenin.

Gao
Gao
Founder

Giriş

Logto müşteri kimlik altyapısını minimum çabayla oluşturmak için modern bir Auth0 alternatifidir. Kullanıcı adı, e-posta, telefon numarası ve Google ve GitHub gibi popüler sosyal girişler de dahil olmak üzere çeşitli oturum açma yöntemlerini destekler.

ASP.NET Core modern, bulut tabanlı, internete bağlı uygulamalar oluşturmak için kullanılan bir çapraz platform, yüksek performanslı, açık kaynaklı bir çerçevedir.

Bu turorialde, Logto SDK'yı entegre ederek ASP.NET Core ile bir kullanıcı kimlik doğrulama akışı oluşturmayı göstereceğiz. Eğitim C# programlama dilini kullanır.

Önkoşullar

Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:

Logto uygulaması oluşturun

Başlamak için, "Geleneksel web" türünde bir Logto uygulaması oluşturun:

  1. [Logto Konsolu]na giriş yapın (https://cloud.logto.io/).
  2. Sol gezinme çubuğunda Uygulamalar seçeneğine tıklayın.
  3. Uygulama oluştur seçeneğine tıklayın.
  4. Açılan sayfada, "Geleneksel web uygulaması" bölümünü bulun ve "ASP.NET Core" kartını bulun.
  5. Oluşturmayı başlat seçeneğine tıklayın ve uygulamanızın adını girin.
  6. Oluştur seçeneğine tıklayın.

Sonra ASP.NET Core uygulamanıza Logto SDK'yi entegre etme sürecini size adım adım anlatan interaktif bir eğitim görmelisiniz.

Logto SDK ile Entegre Olun

Kurulum

ASP.NET Core'un minimum desteklediği sürüm 6.0dır.

Logto kimlik doğrulama ara yazılımını ekleyin

Startup.cs (veya Program.cs) açın ve Logto kimlik doğrulama ara yazılımını kaydetmek için aşağıdaki kodu ekleyin:

AddLogtoAuthentication yöntemi şunları yapar:

  • varsayılan kimlik doğrulama şemasını LogtoDefaults.CookieScheme olarak ayarlar.

  • varsayılan challenge şemasını LogtoDefaults.AuthenticationScheme olarak ayarlar.

  • varsayılan çıkış şemasını LogtoDefaults.AuthenticationScheme olarak ayarlar.

  • cookie ve OpenID Connect kimlik doğrulama işleyicilerini kimlik doğrulama şemasına ekler.

Giriş

Redirect URIs listesine aşağıdaki URI'yi ekleyin:

Logto ile oturum açabilmek için ChallengeAsync yöntemini kullanabilirsiniz:

ChallengeAsync yöntemi kullanıcıyı Logto oturum açma sayfasına yönlendirir.

RedirectUri özelliği, Logto uygulaması detay sayfasındaki ile yönlendirme URI'sinden farklıdır:

  1. Logto uygulaması detay sayfasındaki yönlendirme URI'si, kullanıcının oturum açtıktan sonra kullanıcının döndürüleceği URI'dir.
  2. 'RedirectUri' özelliği, Logto kimlik doğrulama ara yazılımında gerekli işlemler yapıldıktan sonra yönlendirilecek olan URI'dir.

İşlemlerin sırası 1 -> 2'dir. Açıklık adına, Logto uygulaması detay sayfasıdaki yönlendirme URI'sını Logto yönlendirme URI'si ve 'RedirectUri' özelliğini ** uygulama yönlendirme URI'si** olarak adlandıralım.

Logto yönlendirme URI'si, '/Callback' adlı varsayılan bir değere sahiptir. Özel bir gereksiniminiz yoksa bu şekilde bırakabilirsiniz. Değiştirmek isterseniz, LogtoOptions için 'CallbackPath' özelliğini ayarlayabilirsiniz:

Bunu Logto uygulaması detay sayfasındaki değeri buna göre güncellemeyi unutmayın.

Çıkış

'Post sign-out redirect URIs` listesine aşağıdaki URI'yi ekleyin:

Logto ile oturum kapatmak için SignOutAsync yöntemini kullanabilirsiniz:

SignOutAsync yöntemi kimlik doğrulama çerezini temizler ve kullanıcıyı Logto oturum kapatma sayfasına yönlendirir.

'Post sign-out redirect URIs` sayfasındaki post sign-out redirect URI 'RedirectUri' özelliğinden farklıdır:

  1. Logto uygulaması detay sayfasındaki post sign-out redirect URI, kullanıcının oturum kapattıktan sonra kullanıcının döndürüleceği URI'dir.
  2. 'RedirectUri' özelliği, Logto kimlik doğrulama ara yazılımında gerekli işlemler yapıldıktan sonra yönlendirilecek olan URI'dir.

İşlemlerin sırası 1 -> 2'dir. Açıklama için, Logto uygulama detay sayfasındaki post sign-out yönlendirme URI'sini Logto post sign-out yönlendirme URI'si ve 'RedirectUri' özelliğini ** uygulama post sign-out yönlendirme URI'si** olarak adlandıralım.

Logto post sign-out yönlendirme URI'si, '/SignedOutCallback' adlı varsayılan bir değere sahiptir. Özel bir gereksiniminiz yoksa bu şekilde bırakabilirsiniz. Değiştirmek isterseniz, LogtoOptions için 'SignedOutCallbackPath' özelliğini ayarlayabilirsiniz:

Bunu Logto uygulaması detay sayfasındaki değeri buna göre güncellemeyi unutmayın.

Oturum açma / oturum kapama düğmelerini uygulayın (Razor Sayfaları)

İlk olarak, işleyici metodlarınızı 'PageModel'ınıza ekleyin:

Sonra, Razor sayfanıza (html) düğmeleri ekleyin:

Kullanıcı kimliği doğrulanmamışsa "Oturum aç" düğmesini gösterir ve kullanıcı kimliği doğrulanmışsa "Oturum kapat" düğmesini gösterir.

Kontrol Noktası: Web uygulamasını çalıştırın

Şimdi Logto ile oturum açmayı/oturumu kapatmayı denemek için web uygulamasını çalıştırabilirsiniz:

  1. Web uygulamanızı tarayıcınızda açın, "Kimlik doğrulandı mı: Yanlış" ve "Oturum aç" düğmesini görmelisiniz.
  2. "Oturum aç" düğmesine tıklayın ve Logto oturum açma sayfasına yönlendirilmiş olmalısınız.
  3. Oturum açtıktan sonra tekrar web uygulamasına yönlendirilmiş olmalısınız ve "Kimlik doğrulandı mı: Doğru" ve "Oturum kapat" düğmesini görmelisiniz.
  4. "Oturum kapat" düğmesine tıklayın ve Logto oturum kapatma sayfasına yönlendirilmiş olmalısınız ve sonra tekrar web uygulamasına yönlendirilmiş olmalısınız.

Entegrasyon sırasında herhangi bir sorunla karşılaşırsanız lütfen [email protected] adresinden bize e-posta yoluyla ulaşın veya Discord sunucumuza katılın!

Daha fazla okuma