Aracılığıyla paylaş


ASP.NET Core Identity'da dış sağlayıcı kimlik doğrulaması

Yayınlayanlar Valeriy Novytskyy ve Rick Anderson

Bu makalede, kullanıcıların dış kimlik doğrulama sağlayıcılarının kimlik bilgileriyle OAuth 2.0 kullanarak oturum açmasına olanak tanıyan bir ASP.NET Core uygulamasının nasıl derlendiğini açıklanmaktadır.

Facebook, Twitter, Google ve Microsoft sağlayıcıları aşağıdaki bölümlerde ele alınmıştır ve bu makalede oluşturulan başlangıç projesini kullanır. Diğer sağlayıcılar OpenIddict, AspNet.Security.OAuth.Providers ve AspNet.Security.OpenId.Providers gibi üçüncü taraf paketlerde kullanılabilir.

Kullanıcıların mevcut kimlik bilgileriyle oturum açmasına olanak sağlamak, kullanıcılar için kullanışlıdır ve oturum açma işlemini yönetmenin karmaşıklıklarının çoğunu bir üçüncü tarafa geçirir.

Yeni bir ASP.NET Core projesi oluşturma

  • ASP.NET Core Web Uygulaması şablonunu seçin. Tamam'ı seçin.
  • Kimlik doğrulama türü girişinde Bireysel Hesaplar'ı seçin.

Migrasyonları uygula

  • Uygulamayı çalıştırın ve Kaydet bağlantısını seçin.
  • Yeni hesap için e-posta ile parolayı girin ve Kaydet’i seçin.
  • Geçişleri uygulamak için yönergeleri izleyin.

İstek bilgilerini ara sunucu veya yük dengeleyici ile iletme

Uygulama bir ara sunucunun veya yük dengeleyicinin arkasına dağıtılırsa, özgün istek bilgilerinden bazıları istek üst bilgilerinde uygulamaya iletilebilir. Bu bilgiler genellikle güvenli istek düzenini (https), ana bilgisayarı ve istemci IP adresini içerir. Uygulamalar, özgün istek bilgilerini bulmak ve kullanmak için bu istek üst bilgilerini otomatik olarak okumaz.

Düzen, dış sağlayıcılarla kimlik doğrulaması akışını etkileyen bağlantı oluşturmada kullanılır. Güvenli düzenin (https) kaybedilmesi, uygulamanın yanlış güvenli olmayan yeniden yönlendirme URL'leri oluşturmasını sağlar.

Özgün istek bilgilerini uygulamaya, istek işleme için kullanılabilir hale getirmek için İletilen Üstbilgiler Ara Yazılımını kullanın.

Daha fazla bilgi için bkz. ASP.NET Core'u ara sunucular ve yük dengeleyicilerle çalışacak şekilde yapılandırma.

Oturum açma sağlayıcıları tarafından atanan belirteçleri depolamak için Gizli Yönetici'yi kullanın

Sosyal oturum açma sağlayıcıları kayıt işlemi sırasında Uygulama Kimliği ve Uygulama Gizli Anahtarı belirteçleri atar. Belirteçlerin kesin adları sağlayıcıya göre değişir. Bu belirteçler, uygulamanın sağlayıcının API'sine erişmek için kullandığı kimlik bilgilerini temsil eder. Belirteçler, Gizli Dizi Yöneticisi'nin yardımıyla uygulama yapılandırmanıza bağlanabilen kullanıcı gizli dizilerini oluşturur. Kullanıcı gizli dizileri, belirteçleri appsettings.json gibi bir yapılandırma dosyasında depolamaya daha güvenli bir alternatiftir.

Önemli

Gizli Yönetici yalnızca yerel geliştirme ve test içindir. Gizli Dizi Yöneticisi'ni yerel olarak kullanmamak isterseniz yerel geliştirme ve test için de kullanılabilen Azure Key Vault yapılandırma sağlayıcısı ile hazırlama ve üretim gizli dizilerini koruyun.

Her oturum açma sağlayıcısı tarafından atanan belirteçleri depolama yönergeleri için bkz. ASP.NET Core'da geliştirme aşamasında uygulama gizli dizilerinin güvenli bir şekilde depolanması.

Oturum açma sağlayıcılarını yapılandırma

Oturum açma sağlayıcılarını ve uygulamayı yapılandırmak için aşağıdaki makaleleri kullanın:

Çoklu kimlik doğrulaması sağlayıcıları

Uygulama birden fazla sağlayıcı gerektirdiğinde, AddAuthentication üzerinde sağlayıcı uzantı yöntemlerini zincirleyin.

builder.Services.AddAuthentication()
    .AddGoogle(options =>
    {
        // Google configuration options
    })
    .AddFacebook(options =>
    {
        // Facebook configuration options
    })
    .AddMicrosoftAccount(options =>
    {
        // Microsoft Account configuration options
    })
    .AddTwitter(options =>
    {
        // Twitter configuration options
    });

Her sağlayıcıyla ilgili ayrıntılı yapılandırma yönergeleri için ilgili makalelerine bakın.

İsteğe bağlı olarak parola ayarlama

Bir dış oturum açma sağlayıcısına kaydolduğunuzda, uygulamaya kayıtlı bir parolanız olmaz. Bu, site için parola oluşturmanızı ve anımsamanızı kolaylaştırır, ancak aynı zamanda site erişimi için dış oturum açma sağlayıcısına da tamamen bağımlı olmanıza neden olur. Dış oturum açma sağlayıcısı kullanılamıyorsa uygulamada oturum alamayacaksınız.

Parola oluşturmak ve dış sağlayıcılarla oturum açma işlemi sırasında ayarladığınız e-postanızı kullanarak oturum açmak için:

  • Sağ üst köşedeki Merhaba <e-posta diğer adı> bağlantısını seçerek Yönet görünümüne gidin:

Web uygulaması Görünümü yönetme

  • Oluştur'u seçin:

Parolanızı ayarlama sayfası

  • Geçerli bir parola ayarlayın ve e-posta adresinizle oturum açmak için bu kimlik bilgilerini kullanabilirsiniz.

Ek bilgi