Apa yang terjadi dengan proyek WebAPI saya (layanan tersambung Visual Studio Azure Active Directory)

Berlaku untuk:yesVisual Studio noVisual Studio untuk Mac noVisual Studio Code

Artikel ini mengidentifikasi perubahan tepat yang dilakukan pada WebAPI ASP.NET, aplikasi Satu Halaman ASP.NET, dan proyek API Azure ASP.NET saat menambahkan layanan tersambung Azure Active Directory menggunakan Visual Studio. Ini juga berlaku untuk proyek ASP.NET Azure Mobile Service di Visual Studio 2015.

Untuk informasi tentang bekerja dengan layanan tersambung, lihat Memulai.

Referensi tambahan

Memengaruhi referensi *.NET file proyek dan packages.config (referensi paket NuGet).

Jenis Referensi
.NET; NuGet Microsoft.Owin
.NET; NuGet Microsoft.Owin.Host.SystemWeb
.NET; NuGet Microsoft.Owin.Security
.NET; NuGet Microsoft.Owin.Security.ActiveDirectory
.NET; NuGet Microsoft.Owin.Security.Jwt
.NET; NuGet Microsoft.Owin.Security.OAuth
.NET; NuGet Owin
.NET; NuGet System.IdentityModel.Tokens.Jwt

Referensi tambahan jika Anda memilih opsi Baca data direktori:

Jenis Referensi
.NET; NuGet EntityFramework
.NET EntityFramework.SqlServer (hanya Visual Studio 2015)
.NET; NuGet Microsoft.Azure.ActiveDirectory.GraphClient
.NET; NuGet Microsoft.Data.Edm
.NET; NuGet Microsoft.Data.OData
.NET; NuGet Microsoft.Data.Services.Client
.NET; NuGet Microsoft.IdentityModel.Clients.ActiveDirectory
.NET Microsoft.IdentityModel.Clients.ActiveDirectory.WindowsForms
(Hanya Visual Studio 2015)
.NET; NuGet System.Spatial

Referensi berikut dihapus (hanya proyek ASP.NET 4, seperti di Visual Studio 2015):

Jenis Referensi
.NET; NuGet Microsoft.AspNet.Identity.Core
.NET; NuGet Microsoft.AspNet.Identity.EntityFramework
.NET; NuGet Microsoft.AspNet.Identity.Owin

Perubahan file proyek

  • Atur properti IISExpressSSLPort ke angka berbeda.
  • Atur properti WebProject_DirectoryAccessLevelKey ke 0, atau 1 jika Anda memilih opsi Baca data direktori.
  • Atur properti IISUrl ke https://localhost:<port>/ dengan <port> yang cocok dengan nilai IISExpressSSLPort.

Perubahan web.config or app.config

  • Menambahkan entri konfigurasi berikut:

    <appSettings>
        <add key="ida:ClientId" value="<ClientId from the new Azure AD app>" />
        <add key="ida:Tenant" value="<your selected Azure domain>" />
        <add key="ida:Audience" value="<your selected domain + / + project name>" />
    </appSettings>
    
  • Hanya Visual Studio 2017: Juga menambahkan entri berikut pada <appSettings>"

    <add key="ida:MetadataAddress" value="<domain URL + /federationmetadata/2007-06/federationmetadata.xml>" />
    
  • Menambahkan elemen <dependentAssembly> pada simpul <runtime><assemblyBinding>untuk System.IdentityModel.Tokens.Jwt, dan.

  • Jika Anda memilih opsi Baca data direktori, tambahkan entri konfigurasi berikut di bawah <appSettings>:

    <add key="ida:Password" value="<Your Azure AD app's new password>" />
    

Perubahan dan penambahan kode

  • Menambahkan atribut [Authorize] ke Controllers/ValueController.cs dan pengontrol lain yang ada.

  • Menambahkan kelas pengaktifan autentikasi, App_Start/Startup.Auth.cs, yang berisi logika pengaktifan untuk autentikasi Azure AD. Jika Anda memilih opsi Baca data direktori, file ini juga berisi kode untuk menerima kode OAuth dan menukarnya dengan token akses.

  • (Visual Studio 2015 dengan ASP.NET 4 aplikasi saja) Menghapus App_Start/IdentityConfig.cs dan menambahkan Controllers/AccountController.cs, Models/IdentityModel.cs , dan Providers/ApplicationAuthProvider.cs.

  • Menambahkan Connected Services/AzureAD/ConnectedService.json (Visual Studio 2017) atau Service References/Azure AD/ConnectedService.json (Visual Studio 2015) berisi informasi yang digunakan Visual Studio untuk melacak penambahan layanan tersambung.

Pencadangan file (Visual Studio 2015)

Saat menambahkan layanan tersambung, Visual Studio 2015 mencadangkan file yang diubah dan dihapus. Semua file terdampak disimpan di folder Backup/AzureAD. Visual Studio 2017 tidak membuat cadangan.

  • Startup.cs
  • App_Start\IdentityConfig.cs
  • App_Start\Startup.Auth.cs
  • Controllers\AccountController.cs
  • Controllers\ManageController.cs
  • Models\IdentityModels.cs
  • Models\ApplicationOAuthProvider.cs

Perubahan pada Azure

  • Membuat Azure AD Application di domain yang Anda pilih saat menambahkan layanan tersambung.
  • Memperbarui aplikasi untuk menyertakan izin Baca data direktori jika opsi tersebut dipilih.

Pelajari lebih lanjut tentang Azure Active Directory.

Langkah berikutnya