Microsoft Kimlik Doğrulama Kitaplığı'nı keşfetme

Tamamlandı

Microsoft Authentication Library (MSAL), Microsoft Graph'a, diğer Microsoft API'lerine veya kendi web API'nize güvenli erişim sağlamak için kullanılabilir. MSAL, .NET, JavaScript, Java, Python, Android ve iOS gibi birçok farklı uygulama mimarisini ve platformu destekler.

MSAL, birçok platform için tutarlı bir API ile belirteç almanın birçok yolunu sunar. MSAL kullanmak aşağıdaki avantajları sağlar:

  • OAuth kitaplıklarını veya kodunu uygulamanızdaki protokole karşı doğrudan kullanmanız gerekmez.
  • Bir kullanıcı adına veya bir uygulama adına (platform için uygun olduğunda) belirteçler alır.
  • Bir belirteç önbelleği tutar ve süresi dolmak üzere olan belirteçleri sizin için yeniler. Belirteç süre sonunu kendiniz işlemeniz gerekmez.
  • Uygulamanızın hangi hedef kitlede oturum açmasını istediğinizi belirtmenize yardımcı olur.
  • Uygulamanızı yapılandırma dosyalarından ayarlamanıza yardımcı olur.
  • Eyleme dönüştürülebilir özel durumları, günlüğe kaydetmeyi ve telemetriyi ortaya çıkararak uygulamanızın sorunlarını gidermenize yardımcı olur.

Uygulama türleri ve senaryolar

MSAL'de belirteç birçok uygulama türünden edinilebilir: web uygulamaları, web API'leri, tek sayfalı uygulamalar (JavaScript), mobil ve yerel uygulamalar, daemon'lar ve sunucu tarafı uygulamalar. MSAL şu anda aşağıdaki tabloda listelenen platformları ve çerçeveleri desteklemektedir.

Kitaplık Desteklenen platformlar ve çerçeveler
Android için MSAL Android
MSAL Angular Angular ve Angular.js çerçeveleri olan tek sayfalı uygulamalar
iOS ve macOS için MSAL iOS ve macOS
MSAL Go (Önizleme) Windows, macOS, Linux
MSAL Java Windows, macOS, Linux
MSAL.js Vue.js, Ember.js veya Durandal.js gibi JavaScript/TypeScript çerçeveleri
MSAL.NET .NET Framework, .NET Core, Xamarin Android, Xamarin iOS, Evrensel Windows Platformu
MSAL Düğümü Express ile web uygulamaları, Electron ile masaüstü uygulamaları, Platformlar arası konsol uygulamaları
MSAL Python Windows, macOS, Linux
MSAL React React ve React tabanlı kitaplıklara sahip tek sayfalı uygulamalar (Next.js, Gatsby.js)

Kimlik doğrulama akışları

Aşağıdaki tabloda, Microsoft Authentication Library (MSAL) tarafından sağlanan farklı kimlik doğrulama akışlarından bazıları gösterilmektedir. Bu akışlar çeşitli uygulama senaryolarında kullanılabilir.

Akış Açıklama
Yetki kodu Yerel ve web uygulamaları, kullanıcı adına güvenli bir şekilde belirteçler alır
İstemci kimlik bilgileri Hizmet uygulamaları kullanıcı etkileşimi olmadan çalışır
Adına Uygulama bir hizmet/web API'sini çağırır ve bu api sırayla Microsoft Graph'ı çağırır
Örtük Tarayıcı tabanlı uygulamalarda kullanılır
Cihaz kodu Tarayıcıya sahip başka bir cihaz kullanarak cihazda oturum açmayı etkinleştirir
Tümleşik Windows Windows bilgisayarları etki alanına katıldığında sessizce erişim belirteci alır
Etkileşimli Mobil ve masaüstleri uygulamaları, kullanıcı adına Microsoft Graph'ı çağırır
Kullanıcı adı/parola Uygulama, kullanıcı adını ve parolasını kullanarak bir kullanıcıda oturum açar

Genel istemci ve gizli istemci uygulamaları

Birden çok uygulama türü güvenlik belirteçleri alabilir. Bu uygulamalar genellikle aşağıdaki iki kategoriye ayrılmıştır. Her biri farklı kitaplıklar ve nesnelerle kullanılır.

  • Genel istemci uygulamaları: Cihazlarda veya masaüstü bilgisayarlarda veya bir web tarayıcısında çalışan uygulamalardır. Uygulama gizli dizilerini güvenli bir şekilde saklamalarına güvenilmediğinden, yalnızca kullanıcı adına web API'lerine erişiyorlar. (Yalnızca genel istemci akışlarını destekler.) Genel istemciler yapılandırma zamanı gizli dizilerini barındıramaz, bu nedenle istemci gizli dizileri yoktur.

  • Gizli istemci uygulamaları: Sunucularda çalışan uygulamalar (web uygulamaları, web API uygulamaları, hatta hizmet/daemon uygulamaları). Erişimleri zor kabul edilir ve bu nedenle bir uygulama gizli dizisini saklayabilecek durumdadırlar. Gizli istemciler yapılandırma zamanı gizli dizilerini barındırabilir. İstemcinin her örneğinin ayrı bir yapılandırması vardır (istemci kimliği ve istemci gizli dizisi dahil).