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.
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:
- Bir Logto hesabı. Yoksa buradan ücretsiz üye olabilirsiniz.
- .NET geliştirme ortamı ve bir ASP.NET Core projesi. Yoksa .NET'i yükleyebilir ve ASP.NET eğitimlerini takip ederek projenizi oluşturabilirsiniz.
Logto uygulaması oluşturun
Başlamak için, "Geleneksel web" türünde bir Logto uygulaması oluşturun:
- [Logto Konsolu]na giriş yapın (https://cloud.logto.io/).
- Sol gezinme çubuğunda Uygulamalar seçeneğine tıklayın.
- Uygulama oluştur seçeneğine tıklayın.
- Açılan sayfada, "Geleneksel web uygulaması" bölümünü bulun ve "ASP.NET Core" kartını bulun.
- Oluşturmayı başlat seçeneğine tıklayın ve uygulamanızın adını girin.
- 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.0
dı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:
- 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.
- '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:
- 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.
- '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:
- Web uygulamanızı tarayıcınızda açın, "Kimlik doğrulandı mı: Yanlış" ve "Oturum aç" düğmesini görmelisiniz.
- "Oturum aç" düğmesine tıklayın ve Logto oturum açma sayfasına yönlendirilmiş olmalısınız.
- 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.
- "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!