Apa yang terjadi dengan proyek WebAPI saya (layanan tersambung Visual Studio Azure Active Directory)
Berlaku untuk:
Visual Studio
Visual Studio untuk Mac
Visual 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
IISExpressSSLPortke angka berbeda. - Atur properti
WebProject_DirectoryAccessLevelKeyke 0, atau 1 jika Anda memilih opsi Baca data direktori. - Atur properti
IISUrlkehttps://localhost:<port>/dengan<port>yang cocok dengan nilaiIISExpressSSLPort.
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>untukSystem.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]keControllers/ValueController.csdan 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.csdan menambahkanControllers/AccountController.cs,Models/IdentityModel.cs, danProviders/ApplicationAuthProvider.cs.Menambahkan
Connected Services/AzureAD/ConnectedService.json(Visual Studio 2017) atauService 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.csApp_Start\IdentityConfig.csApp_Start\Startup.Auth.csControllers\AccountController.csControllers\ManageController.csModels\IdentityModels.csModels\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.