Web API'si için bir özel bağlayıcı oluşturma

Bu öğretici size ASP.NET Web API'sini oluşturmaya nasıl başlayacağınızı, bunu Azure App Service'in Azure Web Apps özelliğinde nasıl barındırabileceğinizi, Microsoft Entra ID kimlik doğrulamasını nasıl etkinleştirdiğinizi ve ardından Power Automate içinde ASP.NET Web API'sini nasıl kaydettireceğinizi gösterir. API kaydedildikten sonra bu API'ye bağlanabilir ve akışınızdan çağırabilirsiniz. API'yi kaydetmek ve çağrı yapmak için Power Apps veya Azure Logic Apps'i de kullanabilirsiniz.

Önkoşullar

Bir ASP.NET Web uygulamasını Azure 'a oluşturun ve dağıtın

Bu eğitmen için, bir Visual C# ASP.NET web uygulaması oluşturun.

  1. Visual Studio uygulamasını açın ve ardından Dosya > Yeni Proje'yi seçin.

    1. Yüklü seçeneğini genişletin, Şablonlar > Visual C# > Web seçeneğine gidin ve ardından ASP.NET Web Uygulaması'nı seçin.

    2. Uygulamanız için bir proje adı, konum ve çözüm adı girin ve ardından Tamam ' ı seçin.

    Yeni bir Visual C# ASP.NET web uygulamasını gösteren ekran görüntüsü.

  2. Yeni ASP.NET Web Uygulaması kutusunda, Web API'si şablonunu seçin, Bulutta barındır onay kutusunun işaretlendiğinden emin olun ve ardından Kimlik Doğrulamayı Değiştir'i seçin.

    Yeni ASP.NET Web Uygulaması iletişim kutusunu gösteren ekran görüntüsü.

  3. Kimlik Doğrulaması Yok'u seçin ve ardından Tamam'ı seçin. Kimlik doğrulamasını daha sonra da ayarlayabilirsiniz.

    Kimlik Doğrulaması Yok'u seçin.

  4. Yeni ASP.NET Web uygulaması kutusu yeniden görünürse Tamam'ı seçin.

  5. App Service oluştur kutusunda, aşağıdaki tabloda açıklanan barındırma ayarlarını gözden geçirin, istediğiniz değişiklikleri yapın ve ardından Oluştur'u seçin.

    App Service planı, Azure aboneliğinizdeki uygulamaları barındırmak için kullanılan fiziksel kaynaklar koleksiyonunu temsil eder. App Service hakkında bilgi edinin.

    App Service oluşturma.

    Ayar Önerilen değer Tanım
    Azure iş veya okul hesabınız ya da kişisel Microsoft hesabınız your-user-account Kullanıcı hesabınızı seçin.
    Web Uygulama Adı custom-web-api-app-name veya varsayılan ad Web API'si uygulamanızın uygulamanızın URL'sinde kullanılan adını girin. Örneğin, http://web-api-app-name.
    Abonelik Azure-subscription-name Kullanmak istediğiniz Azure aboneliğini seçin.
    Kaynak Grubu Azure-resource-group-name Varolan bir Azure Kaynak grubu seçin veya önceden yapmadıysanız bir kaynak grubu oluşturun.

    Not: Azure kaynak grubu, Azure aboneliğinizdeki Azure kaynaklarını düzenler.

    App Service Planı App-Service-plan-name Var olan bir App Service planı seçin veya önceden yapmadıysanız bir plan oluşturun.

    Bir App Service planı oluşturursanız şunları belirtin:

    Ayar Önerilen değer Tanım
    Location deployment-region Uygulamanızın dağıtımı için bölgeyi seçin.
    Büyüklük App-Service-plan-size Servis planınız için maliyet ve bilgisayar kaynağı kapasitesini belirleyen plan boyutunu seçin.

    Uygulamanızın gerektirdiği diğer kaynakları ayarlamak için Ek Azure hizmetlerini Araştır'ı seçin.

    Ayar Önerilen değer Açıklama
    Kaynak Türü Azure-resource-type Uygulamanızın gerektirdiği diğer kaynakları seçin ve ayarlayın.
  6. Visual Studio projenizi dağıttıktan sonra, uygulamanız için kod oluşturun.

Web API'nizi açıklayan OpenAPI (Swagger) dosyası oluşturma

Web API uygulamanızı Power Automate, Power Apps veya Logic Apps’e bağlamak için API işlemlerinizi açıklayan bir OpenAPI (önceki adıyla Swagger) dosyası gerekir. Swagger çevrimiçi düzenleyicisiyle API'niz için kendi OpenAPI tanımınızı yazabilirsiniz ancak bu öğreticide Swashbuckle adında bir açık kaynaklı araç kullanılmaktadır.

  1. Önceden yapmadıysanız, bu Swashbuckle NuGet paketini Visual Studio projenize yükleyin:

    1. Visual Studio'da, Araçlar > NuGet Paket Yöneticisi > Paket Yönetici Konsolu'nu seçin.

    2. Zaten (Set-Location "project-path" Çalıştır ) 'a sahip değilseniz ve bu PowerShell cmdlet 'ini çalıştırmak için Paket Yöneticisi konsolunda uygulamanızın proje dizinine gidin.

      Install-Package Swashbuckle

      Paket Yöneticisi Konsolu kullanılarak yüklenen Swashbuckle'ı gösteren ekran görüntüsü.

    İpucu

    Uygulamanızı Swashbuckle yükledikten sonra çalıştırırsanız Swashbuckle bu URL'de bir OpenAPI dosyası oluşturur:

      http://{your-web-api-app-root-URL}/swagger/docs/v1

    Swashbuckle, bu URL 'de bir kullanıcı arabirimi oluşturur:

      http://{your-web-api-app-root-URL}/swagger

  2. Hazır olduğunuzda web API uygulamanızı Azure'da yayınlayabilirsiniz. Visual Studio'dan yayımlamak için Çözüm Gezgini 'nde Web projenize sağ tıklayın, Yayımla öğesini seçin ve istemleri izleyin.

    Önemli

    OpenAPI belgesi yinelenen işlem kimlikleri içeriyorsa geçersizdir. Örnek C# şablonu, Values_Get işlem kimliğini yineler.

    Örnek C# şablonunu kullandıysanız bir işlem kimliği kurulumunu Value_Get olarak değiştirip yeniden yayımlayarak bu sorunu çözebilirsiniz.

  3. Bu konuma giderek OpenAPI belgesini alın:

    http://{your-web-api-app-root-URL}/swagger/docs/v1

    Ayrıca, bu öğreticiden de bir örnek OpenAPI belgesi indirebilirsiniz. Belgeyi kullanmadan önce, // ile başlayan Yorumları kaldırmayı unutmayın.

  4. İçeriği JSON dosyası olarak kaydedin. Tarayıcınıza bağlı olarak metni boş bir metin dosyasına kopyalayıp yapıştırmanız gerekebilir.

Microsoft Entra ID kimlik doğrulaması kurulumu

Şimdi Azure'da iki Microsoft Entra ID uygulaması oluşturuyorsunuz. Daha fazla bilgi için Microsoft Entra ID ile uygulamaları tümleştirme bölümüne gidin.

Önemli

Her iki uygulama da aynı dizinde olmalıdır.

Birinci Microsoft Entra ID uygulaması: Web API'sinin güvenliğini sağlama

Birinci Microsoft Entra ID uygulaması, Web API'sinin güvenliğini sağlamak için kullanılır. webAPI olarak adlandırın. Web API'nizdeki Microsoft Entra ID kimlik doğrulamasını şu adımları aşağıodaki değerlerle birlikte izleyerek etkinleştirebilirsiniz:

  • Oturum Açma URL'si: https://login.windows.net
  • Yanıt URL'si: https://<your-root-url>/.auth/login/aad/callback
  • İstemci anahtarı gerekemez.
  • Herhangi bir izin için temsilci atamaya gerek yoktur.
  • Daha sonra gereksinim duyduğunuzşekilde uygulama kimliğini kopyalayın.

İkinci Microsoft Entra ID uygulaması: Özel bağlayıcının ve temsilci erişiminin güvenliğini sağlama

İkinci Microsoft Entra ID uygulaması, özel bağlayıcı kaydının güvenliğini sağlamak ve birinci uygulama tarafından korunan Web API'sine temsilci erişimi elde etmek için kullanılır. Bunu webAPI-customAPI olarak adlandırın.

  • Oturum Açma URL'si: https://login.windows.net
  • Yanıt URL'si: https://msmanaged-na.consent.azure-apim.net/redirect
  • Web API'sine yönelik temsilci erişimine sahip olmak için izinler ekleyin.
  • Daha sonra gereksinim duyduğunuzşekilde uygulama kimliğini kopyalayın.
  • Daha sonra gereksinim duyduğunuz bir istemci anahtarı oluşturun ve kopyalayın.

Azure web uygulamanıza kimlik doğrulaması ekleme

  1. Azure portalında oturum açın ve ardından birinci bölümde dağıttığınız web uygulamanızı bulun.

  2. Ayarlar'a tıklayın ve ardından Kimlik Doğrulama / Yetkilendirme'yi seçin.

  3. App Service kimlik doğrulamasını açın ve Azure Active Directory seçeneğini belirleyin. Sonraki dikey pencerede, Hızlı'yı seçin.

  4. Var Olan AD Uygulamasını Seç'i belirleyin ve daha önce oluşturduğunuz webAPI Microsoft Entra ID uygulamasını seçin.

Şu anda web uygulamanızın kimliğini doğrulamak için Microsoft Entra ID kullanabilmeniz gerekir.

Power Automate'e Özel bağlayıcıyı ekleme

  1. Web Uygulaması için kullanılan securityDefintions nesnesini ve Microsoft Entra ID kimlik doğrulamasını eklemek üzere OpenAPI dosyanızı değiştirin. OpenAPI dosyanızın host özelliğini içeren bölümü şöyle görünmelidir:
// File header should be above here...

"host": "<your-root-url>",
"schemes": [
    "https"      //Make sure this is https!
],
"securityDefinitions": {
    "Microsoft Entra ID": {
        "type": "oauth2",
        "flow": "accessCode",
        "authorizationUrl": "https://login.windows.net/common/oauth2/authorize",
        "tokenUrl" : "https://login.windows.net/common/oauth2/token",
        "scopes": {}
    }
},

// The rest of the OpenAPI follows...
  1. Power Automate’e gidin ve Power Automate’te özel bağlayıcıları kullanma bölümünde açıklandığı şekilde bir özel bağlayıcı ekleyin.

  2. OpenAPI'nizi yükledikten sonra sihirbaz Web API'niz için Microsoft Entra ID kimlik doğrulama kullandığınızı otomatik olarak algılar.

  3. Özel bağlayıcı için Microsoft Entra ID kimlik doğrulamasını yapılandırın.

  • İstemci Kimliği: webAPI-CustomAPI'nin istemci kimliği
  • Gizli Anahtar: webAPI-CustomAPI'nin istemci anahtarı
  • Oturum açma URL'si: https://login.windows.net
  • ResourceUri: webAPI'nin istemci kimliği
  1. Özel bağlayıcıya bağlantı oluşturmak için Oluştur'u seçin.

Ayrıca bkz.

Microsoft Entra ID kimlik doğrulaması hakkında daha fazla bilgi edinin

Geri bildirimde bulunun

Bağlayıcı platformumuzla ilgili sorunlar veya yeni özellik fikirleri hakkındaki geri bildiriminiz bizim için çok önemlidir. Geri bildirimde bulunmak için Sorun gönderme veya bağlayıcılarla ilgili yardım alma bölümüne gidip geri bildirim türünü seçin.