Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu paket, @azure/identitygibi bir kimlik doğrulama aracısı kullanılmasını sağlayan JavaScript için Azure Kimlik kitaplığına () bir eklenti sağlar.
Kimlik doğrulama aracısı, kullanıcının makinesinde çalışan ve bağlı hesaplar için kimlik doğrulama el sıkışmalarını ve belirteç bakımını yöneten bir uygulamadır. Şu anda yalnızca Windows kimlik doğrulama aracısı Olan Web Hesabı Yöneticisi (WAM) desteklenmektedir.
Kaynak kodu | Örnekler | API başvuru belgeleri | [Microsoft Entra Id belgeleri] (https://learn.microsoft.com/entra/identity/)
Başlarken
import { useIdentityPlugin } from "@azure/identity";
import { nativeBrokerPlugin } from "@azure/identity-broker";
useIdentityPlugin(nativeBrokerPlugin);
Önkoşullar
Not: ile yerel geliştirme
@azure/identity-brokeriçin ek araçlar yüklemeniz gerekebilir. node-gyp , sistem API'lerine erişmek için eklentileri derlemek için kullanılır. Kurulum gereksinimleri node-gyp README'de listelenmiştir.
Linux'ta kitaplık kullanır libsecret , bu nedenle yüklemeniz gerekebilir. Dağıtımınıza bağlı olarak, aşağıdaki komutu çalıştırmanız gerekecektir:
- Debian/Ubuntu:
sudo apt-get install libsecret-1-dev - Red Hat tabanlı:
sudo yum install libsecret-devel - Arch Linux:
sudo pacman -S libsecret
Uyarı
Aracılı kimlik doğrulaması şu anda yalnızca Windows ve Linux'ta desteklenmektedir. macOS henüz desteklenmiyor.
Paketi yükleme
Bu paket, JavaScript için Azure Identity ile kullanılacak şekilde tasarlanmıştır.
@azure/identitykullanarak hem npm hem de bu paketi yükleyin:
npm install --save @azure/identity
npm install --save @azure/identity-broker
Desteklenen ortamlar
JavaScript için Azure Kimlik eklentileri, v20'den başlayarak Node.js kararlı (çift numaralı) sürümlerini destekler. Eklentiler diğer Node.js sürümlerde çalıştırılabilir ancak destek garanti değildir.
@azure/identity-broker
tarayıcı ortamlarını desteklemez.
Temel kavramlar
@azure/identity veya Microsoft Entra Id'yi ilk kez kullanıyorsanız, önce Microsoft Entra Id ile @azure/identity kullanma okumanızı öneririz. Bu belge size platformu ve Azure hesabınızı doğru yapılandırmayı daha iyi anlamanızı sağlayacaktır.
Üst pencere tutamaçları
InteractiveBrowserCredentialaracılığıyla aracıyla kimlik doğrulaması yaparken, kimlik doğrulama iletişim kutusunun istekte bulunan pencere üzerinde doğru gösterildiğinden emin olmak için bir üst pencere tutamacı gerekir. Cihazlardaki grafik kullanıcı arabirimleri bağlamında pencere tutamacı, işletim sisteminin her pencereye atamış olduğu benzersiz bir tanımlayıcıdır. Windows işletim sistemi için bu tanıtıcı, belirli bir pencereye başvuru görevi görecek bir tamsayı değeridir.
Microsoft hesabı (MSA) geçişi
Microsoft hesapları (MSA), kullanıcılar tarafından Microsoft hizmetlerine erişmek için oluşturulan kişisel hesaplardır. MSA geçişi, kullanıcıların normalde MSA oturum açma bilgilerini kabul etmeyen kaynaklara belirteçler almasına olanak tanıyan eski bir yapılandırmadır. Bu özellik yalnızca birinci taraf uygulamalar tarafından kullanılabilir. MSA geçişini kullanmak üzere yapılandırılmış bir uygulamayla kimlik doğrulaması kullanan kullanıcılar, bu kişisel hesapların WAM tarafından listelenebilmesi için legacyEnableMsaPassthroughtrue içinde InteractiveBrowserCredentialNodeOptions.brokerOptions olarak ayarlayabilir.
Yeniden yönlendirme URI'leri
Microsoft Entra uygulamaları, kullanıcı oturum açtıktan sonra kimlik doğrulama yanıtının nereye gönderileceğini belirlemek için yeniden yönlendirme URI'lerini kullanır. WAM aracılığıyla aracılı kimlik doğrulamasını etkinleştirmek için aşağıdaki desenle eşleşen bir yeniden yönlendirme URI'sinin uygulamaya kaydedilmesi gerekir:
ms-appx-web://Microsoft.AAD.BrokerPlugin/{client_id}
Azure Kimlik eklentileri
@azure/identity sürüm 2.0.0'dan itibaren JavaScript için Kimlik istemci kitaplığı bir eklenti API'sini içerir. Bu paket (@azure/identity-broker), bağımsız değişken olarak geçirmeniz gereken eklenti nesnesini useIdentityPlugin paketinden üst düzey @azure/identity işlevine aktarır. Programınızda yerel aracıyı aşağıdaki gibi etkinleştirin:
import { useIdentityPlugin, InteractiveBrowserCredential } from "@azure/identity";
import { nativeBrokerPlugin } from "@azure/identity-broker";
useIdentityPlugin(nativeBrokerPlugin);
const credential = new InteractiveBrowserCredential({
brokerOptions: {
enabled: true,
parentWindowHandle: new Uint8Array(0), // This should be a handle to the parent window
},
});
useIdentityPluginçağrıldıktan sonra yerel aracı eklentisi @azure/identity paketine kaydedilir ve WAM aracı kimlik doğrulamasını destekleyen InteractiveBrowserCredential kullanılabilir. Bu kimlik bilgisi oluşturucu seçeneklerinde brokerOptions.
Notlar: 4.11.0-beta.1 sürümünden itibaren @azure/identity , DefaultAzureCredential Windows Web Hesap Yöneticisi aracılığıyla oturum açma desteği sağlar. Programınızda yerel aracıyı aşağıdaki gibi etkinleştirin:
import { useIdentityPlugin, DefaultAzureCredential } from "@azure/identity";
import { nativeBrokerPlugin } from "@azure/identity-broker";
useIdentityPlugin(nativeBrokerPlugin);
const credential = new DefaultAzureCredential();
Örnekler
Eklenti kaydedildikten sonra, kimlik bilgisi oluşturucusunun brokerOptions olarak ayarlanmış bir enabled özelliğine sahip true geçirerek WAM aracı kimlik doğrulamasını etkinleştirebilirsiniz. Aşağıdaki örnekte, InteractiveBrowserCredentialkullanırız.
import { useIdentityPlugin, InteractiveBrowserCredential } from "@azure/identity";
import { nativeBrokerPlugin } from "@azure/identity-broker";
useIdentityPlugin(nativeBrokerPlugin);
const credential = new InteractiveBrowserCredential({
brokerOptions: {
enabled: true,
parentWindowHandle: new Uint8Array(0), // This should be a handle to the parent window
},
});
// We'll use the Microsoft Graph scope as an example
const scope = "https://graph.microsoft.com/.default";
// Print out part of the access token
console.log((await credential.getToken(scope)).token.substring(0, 10), "...");
Bir pencere tutamacını almak için Electron uygulaması kullanmanın tam bir örneği için bkz. bu örnek
Oturum açmak için varsayılan hesabı kullanma
useDefaultBrokerAccount seçeneği trueolarak ayarlandığında, kimlik bilgisi varsayılan aracı hesabını sessizce kullanmayı dener. Varsayılan hesabın kullanılması başarısız olursa, kimlik bilgisi etkileşimli kimlik doğrulamasına geri döner.
import { useIdentityPlugin, InteractiveBrowserCredential } from "@azure/identity";
import { nativeBrokerPlugin } from "@azure/identity-broker";
useIdentityPlugin(nativeBrokerPlugin);
const credential = new InteractiveBrowserCredential({
brokerOptions: {
enabled: true,
useDefaultBrokerAccount: true,
parentWindowHandle: new Uint8Array(0), // This should be a handle to the parent window
},
});
// We'll use the Microsoft Graph scope as an example
const scope = "https://graph.microsoft.com/.default";
// Print out part of the access token
console.log((await credential.getToken(scope)).token.substr(0, 10), "...");
Sorun giderme
Çeşitli hata senaryolarını tanılama hakkında ayrıntılı bilgi için bkz. Azure Identity [sorun giderme kılavuzu][https://github.com/Azure/azure-sdk-for-js/blob/@azure/identity-broker_1.3.0/sdk/identity/identity/TROUBLESHOOTING.md] .
Günlük tutmak
Günlüğe kaydetmeyi etkinleştirmek, hatalarla ilgili yararlı bilgilerin ortaya çıkmasına yardımcı olabilir. HTTP isteklerinin ve yanıtlarının günlüğünü görmek için AZURE_LOG_LEVEL ortam değişkenini infoolarak ayarlayın. Alternatif olarak, setLogLevel@azure/logger çağrılarak günlükler çalışma zamanında etkinleştirilebilir:
import { setLogLevel } from "@azure/logger";
setLogLevel("info");
Sonraki adımlar
Geri bildirim sağlayın
Hatalarla karşılaşırsanız veya önerileriniz varsa lütfen bir sorun açın.
Katkıda
Bu kitaplığa katkıda bulunmak istiyorsanız kodu oluşturma ve test etme hakkında daha fazla bilgi edinmek için katkıda bulunma kılavuzu bakın.
Azure SDK for JavaScript