Aracılığıyla paylaş


Dış kiracıda örnek ASP.NET Core web uygulaması için kullanıcılarda oturum açma

Bu nasıl yapılır kılavuzu, kimlik doğrulamasını işlemek için .NET için Microsoft Kimlik Doğrulama Kitaplığı'nı ve ASP.NET Core için Microsoft Identity Web'i kullanarak modern kimlik doğrulamasının temellerini göstermek üzere örnek bir ASP.NET Core web uygulaması kullanır.

Bu makalede, Microsoft Entra yönetim merkezine bir web uygulaması kaydedip oturum açıp kullanıcı akışını kapatacaksınız. Web uygulamanızı kullanıcı akışıyla ilişkilendirir, kendi dış kiracı ayrıntılarınızı kullanarak örnek bir ASP.NET Core web uygulamasını indirir ve güncelleştirirsiniz. Son olarak, örnek web uygulamasını çalıştırıp test edersiniz.

Önkoşullar

Web uygulamasını kaydetme

Uygulamanızın Microsoft Entra ile kullanıcılarla oturum açmasını sağlamak için Microsoft Entra Dış Kimlik oluşturduğunuz uygulama hakkında bilgi edinilmesi gerekir. Uygulama kaydı, uygulama ile Microsoft Entra arasında bir güven ilişkisi kurar. Bir uygulamayı kaydettiğinizde, Dış Kimlik, kimlik doğrulama istekleri oluştururken uygulamanızı tanımlamak için kullanılan bir değer olan Uygulama (istemci) kimliği olarak bilinen benzersiz bir tanımlayıcı oluşturur.

Aşağıdaki adımlar, uygulamanızı Microsoft Entra yönetim merkezine nasıl kaydedeceğini gösterir:

  1. Microsoft Entra yönetim merkezinde en azından Uygulama Geliştiricisi olarak oturum açın.

  2. Birden çok kiracıya erişiminiz varsa, Dizinler + abonelikler menüsünden dış kiracınıza geçmek için üst menüdeki Ayarlar simgesinikullanın.

  3. Kimlik>Uygulamaları'na> göz atın Uygulama kayıtları.

  4. + Yeni kayıt'ı seçin.

  5. Görüntülenen Uygulamayı kaydet sayfasında;

    1. Uygulamanın kullanıcılarına gösterilen anlamlı bir uygulama Adı girin, örneğin ciam-client-app.
    2. Desteklenen hesap türleri'nin altında Yalnızca bu kuruluş dizinindeki Hesaplar'ı seçin.
  6. Kaydet'i seçin.

  7. Başarılı bir kayıtta uygulamanın Genel Bakış bölmesi görüntülenir. Uygulama kaynak kodunuzda kullanılacak Uygulama (istemci) kimliğini kaydedin.

Platformu ve URL'leri tanımlama

Uygulama kaydınıza uygulama türünüzü belirtmek için şu adımları izleyin:

  1. Yönet'in altında Kimlik Doğrulama'yı seçin.
  2. Platform yapılandırmaları sayfasında Platform ekle'yi ve ardından Web seçeneğini belirleyin.
  3. Yeniden Yönlendirme URI'leri için girinhttps://localhost:7274/signin-oidc.
  4. Ön kanal oturumu kapatma URL'si altında oturumu kapatma için girinhttps://localhost:7274/signout-callback-oidc.
  5. Değişikliklerinizi kaydetmek için Yapılandır'ı seçin.

Örtük ve karma akışları etkinleştirme

Oluşturduğunuz uygulama, etkinleştirilmesi gereken örtük akışı kullanır.

  1. Örtük verme ve karma akışlar bölümünün altında Kimlik belirteçleri seçeneğini belirleyin.
  2. Kaydet'i seçin.

Uygulama istemci gizli dizisi ekleme

Kayıtlı uygulama için bir istemci gizli dizisi oluşturun. Uygulama, belirteç istediğinde kimliğini kanıtlamak için istemci gizli dizisini kullanır.

  1. Uygulama kayıtları sayfasında, oluşturduğunuz uygulamayı (ciam-client-app gibi) seçerek Genel Bakış sayfasını açın.
  2. Yönet'in altında Sertifikalar ve gizli diziler'i seçin.
  3. Yeni gizli anahtar'ı seçin.
  4. Açıklama kutusuna istemci gizli dizisi için bir açıklama girin (örneğin, ciam uygulama istemci gizli dizisi).
  5. Süre Sonu'nun altında gizli dizinin geçerli olduğu bir süre seçin (kuruluşunuzun güvenlik kurallarına göre) ve ardından Ekle'yi seçin.
  6. Gizli dizinin Değerini kaydedin. Bu değeri sonraki bir adımda yapılandırma için kullanacaksınız. Gizli dizi değeri yeniden görüntülenmez ve Sertifikalar ve gizli dizilerden uzaklaştıktan sonra herhangi bir yolla alınamaz. Kaydettiğinizden emin olun.
  1. Uygulama kayıtları sayfasında, oluşturduğunuz uygulamayı (ciam-client-app gibi) seçerek Genel Bakış sayfasını açın.

  2. Yönet'in altında API izinleri'ne tıklayın. Yapılandırılan izinler listesinden, uygulamanıza User.Read izni atanmıştır. Ancak, kiracı bir dış kiracı olduğundan, tüketici kullanıcıların kendileri bu izni onaylayamaz. Yönetici olarak kiracıdaki tüm kullanıcılar adına bu izni onaylamanız gerekir:

    1. Kiracı adınız> için <Yönetici onayı ver'i ve ardından Evet'i seçin.
    2. Yenile'yi seçin, ardından her iki kapsam için de Durum altında Kiracı adınız> için <Verildi ifadesinin gösterildiğini doğrulayın.

Kullanıcı akışı oluşturma

Müşterinin bir uygulamada oturum açmak veya uygulamaya kaydolmak için kullanabileceği bir kullanıcı akışı oluşturmak için bu adımları izleyin.

  1. Microsoft Entra yönetim merkezinde en azından Dış Kimlik Kullanıcı Akışı Yönetici istrator olarak oturum açın.

  2. Birden çok kiracıya erişiminiz varsa, Dizinler + abonelikler menüsünden dış kiracınıza geçmek için üst menüdeki Ayarlar simgesinikullanın.

  3. Kimlik>Dış Kimlikleri>Kullanıcı akışları'na göz atın.

  4. + Yeni kullanıcı akışı'ni seçin.

  5. Oluştur sayfasında:

    1. Kullanıcı akışı için SignInSignUpSample gibi bir Ad girin.

    2. Kimlik sağlayıcıları listesinde E-posta Hesapları'nı seçin. Bu kimlik sağlayıcısı, kullanıcıların e-posta adreslerini kullanarak oturum açmalarına veya kaydolmalarına olanak tanır.

      Not

      Ek kimlik sağlayıcıları burada yalnızca federasyon ayarladıktan sonra listelenir. Örneğin, Google veya Facebook ile federasyon ayarlarsanız bu ek kimlik sağlayıcılarını buradan seçebilirsiniz.

    3. E-posta hesapları'nın altında iki seçenek arasından birini belirleyebilirsiniz. Bu öğretici için Parolayla e-posta gönder'i seçin.

      • Parolalı e-posta: Yeni kullanıcıların oturum açma adı olarak bir e-posta adresi ve ilk faktör kimlik bilgileri olarak parola kullanarak kaydolmasına ve oturum açmasına izin verir.
      • Tek seferlik geçiş kodunu e-postayla gönderme: Yeni kullanıcıların oturum açma adı olarak bir e-posta adresi ve ilk faktör kimlik bilgileri olarak bir kerelik e-posta geçiş kodu kullanarak kaydolmasına ve oturum açmasına olanak tanır. Bu seçeneğin kullanıcı akışı düzeyinde kullanılabilir olması için tek seferlik e-posta geçiş kodu kiracı düzeyinde (Tüm Kimlik Sağlayıcıları>E-posta Bir kerelik geçiş kodu) etkinleştirilmelidir.
    4. Kullanıcı öznitelikleri'nin altında, kayıt sırasında kullanıcıdan toplamak istediğiniz öznitelikleri seçin. Daha fazla göster'i seçerek Ülke/Bölge, Görünen Ad ve Posta Kodu için öznitelikleri ve talepleri seçebilirsiniz. Tamam'ı seçin. (Kullanıcılardan yalnızca ilk kez kaydolduğunda öznitelikleri istenir.)

  6. Oluştur'u belirleyin. Yeni kullanıcı akışı, Kullanıcı akışları listesinde görünür. Gerekirse sayfayı yenileyin.

Self servis parola sıfırlamayı etkinleştirmek için Self servis parola sıfırlamayı etkinleştirme makalesindeki adımları kullanın.

Web uygulamasını kullanıcı akışıyla ilişkilendirme

Birçok uygulama kullanıcı akışınız ile ilişkilendirilebilir ancak tek bir uygulama yalnızca bir kullanıcı akışıyla ilişkilendirilebilir. Kullanıcı akışı, belirli uygulamalar için kullanıcı deneyiminin yapılandırılmasına olanak tanır. Örneğin, kullanıcıların oturum açmasını veya e-posta adresiyle kaydolmasını gerektiren bir kullanıcı akışı yapılandırabilirsiniz.

  1. Kenar çubuğu menüsünde Kimlik'i seçin.

  2. Dış Kimlikler'i ve ardından Kullanıcı akışları'yı seçin.

  3. Kullanıcı akışları sayfasında, daha önce oluşturduğunuz Kullanıcı akışı adını (örneğin, SignInSignUpSample) seçin.

  4. Kullan'ın altında Uygulamalar'ı seçin.

  5. Uygulama ekle'yi seçin.

  6. Ciam-client-app gibi listeden uygulamayı seçin veya uygulamayı bulmak için arama kutusunu kullanın ve ardından seçin.

  7. Seç'i seçin.

Örnek web uygulamasını kopyalama veya indirme

Örnek uygulamayı edinmek için GitHub'dan kopyalayabilir veya .zip dosyası olarak indirebilirsiniz.

  • Örneği kopyalamak için bir komut istemi açın ve projeyi oluşturmak istediğiniz yere gidin ve aşağıdaki komutu girin:

    git clone https://github.com/Azure-Samples/ms-identity-ciam-dotnet-tutorial.git
    
  • .zip dosyasını indirin. Adın uzunluğu 260 karakterden az olan bir dosya yoluna ayıklayın.

Uygulamayı yapılandırma

  1. İndirdiğiniz örneğin kök klasörüne ve ASP.NET Core örnek uygulamasını içeren dizine gidin:

    cd 1-Authentication\1-sign-in-aspnet-core-mvc
    
  2. appsettings.json dosyasını açın.

  3. Yetkili'de bu alanı bulun Enter_the_Tenant_Subdomain_Here ve kiracınızın alt etki alanıyla değiştirin. Örneğin, kiracı birincil etki alanınız ise caseyjensen@onmicrosoft.comgirmeniz gereken değer casyjensen olur.

  4. Enter_the_Application_Id_Here Değerini bulun ve Microsoft Entra yönetim merkezine kaydettiğiniz uygulamanın uygulama kimliği (clientId) ile değiştirin.

  5. değerini, Uygulama istemci gizli dizisi ekleme bölümünde ayarladığınız istemci gizli dizisi değeriyle değiştirinEnter_the_Client_Secret_Here.

Kod örneğini çalıştırma

  1. Kabuğunuzdan veya komut satırınızdan aşağıdaki komutları yürütebilirsiniz:

    dotnet run
    
  2. Web tarayıcınızı açın ve adresine https://localhost:7274gidin.

  3. Dış kiracıya kayıtlı bir hesapla oturum açın.

  4. Oturum açıldıktan sonra, aşağıdaki ekran görüntüsünde gösterildiği gibi Oturumu kapat düğmesinin yanında görünen ad gösterilir.

    ASP.NET Core web uygulamasında oturum açma ekran görüntüsü.

  5. Uygulama oturumunu kapatmak için Oturumu kapat düğmesini seçin.

Ayrıca bkz.