Microsoft Identity Web kimlik doğrulaması kitaplığı

Microsoft ıdentity web, Microsoft kimlik platformu ile tümleştirerek web uygulamalarına ve web apı 'lerine kimlik doğrulama ve yetkilendirme desteği eklemeyi kolaylaştıran bir ASP.NET Core kitaplıkları kümesidir. .net için ASP.NET Core, kimlik doğrulama ara yazılımını ve Microsoft kimlik doğrulama kitaplığı 'nı (MSAL)birbirine bağlayan tek yüzeyli bir apı kolay bir katman sağlar.

yeni bir uygulama projesi oluşturmak için, NuGet 'den Microsoft. ıdentity. Web ' i veya bir Visual Studio proje şablonu kullanarak alabilirsiniz.

Desteklenen uygulama senaryoları

ASP.NET Core web uygulamaları veya web apı 'leri oluşturuyorsanız ve kimlik ve erişim yönetimi (ıam) için Azure Active Directory (Azure AD) veya Azure AD B2C kullanmak istiyorsanız, bu senaryoların tümünde Microsoft ıdentity web kullanmanızı öneririz:

NuGet şuradan yüklensin

Microsoft ıdentity Web, uygulamanızın ihtiyaçlarına bağlı olarak modüler işlevsellik sağlayan bir dizi paket olarak NuGet kullanılabilir. dotnet addprojeniz için uygun olan paketleri yüklemek için .net clı 'nın komutunu veya Visual Studio NuGet Paket Yöneticisi kullanın:

Visual Studio proje şablonu kullanarak yükler

Microsoft Identity Web kullanan birçok proje şablonu .NET SDK 5,0 ve üzeri sürümlerine dahildir. proje şablonları ASP.NET Core 3,1 SDK 'sına dahil değildir, ancak bunları ayrı olarak yükleyebilirsiniz.

.net 5.0 +-Project şablonlar dahil

Microsoft Identity Web projesi şablonları .NET SDK 5,0 ve üzeri sürümlerine dahildir.

Bu örnek .NET CLı komutu, Microsoft Identity Web 'i içeren bir Blazor Server projesi oluşturur.

dotnet new blazorserver --auth SingleOrg --calls-graph --client-id "00000000-0000-0000-0000-000000000000" --tenant-id "11111111-1111-1111-1111-111111111111" --output my-blazor-app

2 blazorserver .NET SDK 5.0 + ' da bulunan şablonları kullanıyorsanız, uygulama türü bağımsız değişkenine (örnekteki) bir ekleyin. 2son eki yalnızca ASP.NET Core 3,1 ' i kullanıyorsanız ve şablonları bir sonraki bölümde açıklandığı gibi ayrı olarak yüklediyseniz ekleyin.

ASP.NET Core 3,1-proje şablonlarını yükler

ASP.NET Core 3,1 kullanıyorsanız, proje şablonlarını NuGet yükleyebilirsiniz.

dotnet new --install Microsoft.Identity.Web.ProjectTemplates

yalnızca ASP.NET Core 3,1 için, yeni bir 2 proje oluştururken uygulama türü bağımsız değişkenine a ekleyin:

dotnet new blazorserver2 --auth SingleOrg --calls-graph --client-id "00000000-0000-0000-0000-000000000000" --tenant-id "11111111-1111-1111-1111-111111111111" --output my-blazor-app

Aşağıdaki diyagramda, kullanılabilir uygulama türü şablonlarının ve bunların bağımsız değişkenlerinin birkaçı gösterilmektedir. 2uygulama türü bağımsız değişkenine ( blazorserver2 örnekte), yalnızca ASP.NET Core 3,1 SDK kullanıyorsanız ve kullanarak şablonları yükleyorsanız, bir ekleyin dotnet new --install .

Microsoft Identity Web için kullanılabilir dot net CLı proje şablonlarının diyagramı
*MultiOrg, ile desteklenmez webapi2 , ancak kiracı ya da olarak ayarlanarak appSettings. JSON içinde etkinleştirilebilir. common``organizations
**--calls-graphAzure AD B2C için desteklenmez

Proje şablonlarının özellikleri

Microsoft ıdentity Web, varsayılan ASP.NET Core 3,1 proje şablonlarında kullanılamayan birçok özellik içerir.

Özellik ASP.NET Core 3,1 Microsoft Identity Web
Web uygulamalarında oturum açma kullanıcıları
  • İş veya okul hesapları
  • Sosyal kimlikler (Azure AD B2C ile)
  • İş veya okul hesapları
  • Kişisel Microsoft hesapları
  • Sosyal kimlikler (Azure AD B2C ile)
  • Web API 'Lerini koruma
  • İş veya okul hesapları
  • Sosyal kimlikler (Azure AD B2C ile)
  • İş veya okul hesapları
  • Kişisel Microsoft hesapları
  • Sosyal kimlikler (Azure AD B2C ile)
  • Çok kiracılı uygulamalarda veren doğrulaması No Evet, Tüm bulutlar ve Azure AD B2C
    Web uygulaması/API [Microsoft Graph 'ı çağırır] [senaryo-API-Call-Graph] Hayır Yes
    Web uygulaması/API [çağıran Web API] [senaryo-API-Call-API] Hayır Yes
    Sertifika kimlik bilgilerini destekler No Evet, Azure Key Vault dahil
    Web uygulamalarında artımlı onay ve koşullu erişim desteği No Evet, MVC, Razor sayfaları ve Blazor
    Web API 'Lerinde belirteç şifreleme sertifikaları Hayır Yes
    [Kapsamlar/uygulama rolü doğrulaması] [senaryo-API-doğrulama] Web API 'Lerinde Hayır Yes
    WWW-Authenticate Web API 'Lerinde üst bilgi oluşturma Hayır Evet

    Sonraki adımlar

    Microsoft Identity Web 'i çalışır durumda görmek için Blazor sunucu Öğreticimizi deneyin:

    öğretici: kimlik doğrulaması için Microsoft kimlik platformu kullanan bir Blazor Server uygulaması oluşturma

    GitHub üzerindeki Microsoft ıdentity Web wiki, kitaplığın çeşitli yönleri için kapsamlı başvuru belgeleri içerir. Örneğin, sertifika kullanımı, artımlı izin ve koşullu erişim başvurusu şurada bulunabilir:

    [senaryo-API-Call-API]: senaryo-Web-API-Call-api-Call-API. MD # Option-1-Call-Microsoft-Graph-with-SDK
    [senaryo-api-Call-Graph]: senaryo-Web-API-Call-api-Call-API. MD # Option-1-Call-Microsoft-Graph-with-SDK
    [senaryo-api-doğrulama]: scenario-protected-web-api-verification-scope-app-roles.md