Aracılığıyla paylaş


Örnek WPF masaüstü uygulamasında kullanıcılarda oturum açma

Bu kılavuzda, wpf masaüstü uygulamasına kimlik doğrulaması eklemeyi gösteren örnek bir Windows Presentation Foundation (WPF) uygulaması kullanılmaktadır. Örnek uygulama, kullanıcıların oturum açmasını ve oturumu kapatmasını sağlar. Örnek masaüstü uygulaması, kimlik doğrulamasını işlemek için .NET için .NET için Microsoft Kimlik Doğrulama Kitaplığı'nı kullanır.

Önkoşullar

Masaüstü 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 simgesini kullanı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.

Uygulama platformunuzu belirtme

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 Mobil ve masaüstü uygulamaları seçeneğini belirleyin.
  3. Özel yeniden yönlendirme URI'sinin altındaki giriş alanına el ile girin https://login.microsoftonline.com/common/oauth2/nativeclientve Yapılandır'ı seçin. Seçme kutusunda bu URI'yi seçerseniz, yeniden yönlendirme URI'sini hatayla karşılaşabilirsiniz.

Uygulamanızı kaydettikten sonra user.read izni atanır. Ancak, kiracı bir dış kiracı olduğundan, müşteri kullanıcıları bu izni onaylayamaz. Yönetici olarak kiracıdaki tüm kullanıcılar adına bu izni onaylamanız gerekir:

  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.

    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 izin için Durum altında Kiracı adınız> için <Verildi seçeneğinin 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öneticisi 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 simgesini kullanı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.

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

Müşteri kullanıcılarının uygulamanızı kullanırken kaydolma veya oturum açma deneyimini görebilmesi için uygulamanızı bir kullanıcı akışıyla ilişkilendirmeniz gerekir. Birçok uygulama kullanıcı akışınız ile ilişkilendirilebilir ancak tek bir uygulama yalnızca bir kullanıcı akışıyla ilişkilendirilebilir.

  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.

Uygulamanızı bir kullanıcı akışıyla ilişkilendirdikten sonra, Microsoft Entra yönetim merkezinden bir kullanıcının uygulamanıza kaydolma veya oturum açma deneyiminin benzetimini yaparak kullanıcı akışınızı test edebilirsiniz. Bunu yapmak için Kaydolma ve oturum açma kullanıcı akışınızı test etme'deki adımları kullanın.

Örnek WPF 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.

Örnek WPF uygulamasını yapılandırma

  1. Kodu yapılandırmak için projeyi IDE'nizde (Visual Studio veya Visual Studio Code gibi) açın.

  2. Kod düzenleyicinizde appsettings.json dosyasını ms-identity-ciam-dotnet-tutorial>1-Authentication>5-sign-in-dotnet-wpf klasöründe açın.

  3. değerini, daha önce kaydettiğiniz uygulamanın Uygulama (istemci) kimliğiyle değiştirin Enter_the_Application_Id_Here .

  4. değerini Dizin (kiracı) alt etki alanıyla değiştirin Enter_the_Tenant_Subdomain_Here . Örneğin, birincil etki alanınız contoso.onmicrosoft.com ise değerini contoso ile değiştirinEnter_the_Tenant_Subdomain_Here. Birincil etki alanınız yoksa kiracı ayrıntılarını okumayı öğrenin.

Örnek WPF masaüstü uygulamasını çalıştırma ve test edin

  1. Bir konsol penceresi açın ve WPF masaüstü örnek uygulamasını içeren dizine geçin:

    cd 1-Authentication\5-sign-in-dotnet-wpf
    
  2. Terminalinizde aşağıdaki komutu çalıştırarak uygulamayı çalıştırın:

    dotnet run
    
  3. Örneği başlattıktan sonra Oturum Aç düğmesini içeren bir pencere görmeniz gerekir. Oturum Aç düğmesini seçin.

    WPF masaüstü uygulaması için oturum açma ekranının ekran görüntüsü.

  4. Oturum açma sayfasında hesap e-posta adresinizi girin. Hesabınız yoksa Hesap yok mu? seçeneğini belirleyin . Kayıt akışını başlatan bir tane oluşturun. Yeni bir hesap oluşturmak ve oturum açmak için bu akışı izleyin.

  5. Oturum açtığınızda başarılı oturum açma adımlarını ve alınan belirteçte depolanan kullanıcı hesabınızla ilgili temel bilgileri gösteren bir ekran görürsünüz. Temel bilgiler, oturum açma ekranının Belirteç Bilgileri bölümünde görüntülenir

Nasıl çalışır?

Genel istemci uygulamasının ana yapılandırması App.xaml.cs dosyasında işlenir. erişim PublicClientApplication belirteçlerini depolamak için bir önbellekle birlikte başlatılır. Uygulama önce kullanıcının oturumunu açmak için kullanılabilecek önbelleğe alınmış bir belirteç olup olmadığını denetler. Önbelleğe alınmış belirteç yoksa, kullanıcıdan kimlik bilgilerini sağlaması ve oturum açması istenir. Oturum kapatılırken önbellek tüm hesaplardan ve ilgili tüm erişim belirteçlerinden temizlenir.