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.
Hoş geldiniz! Bu muhtemelen beklediğiniz sayfa değildir. Bir düzeltme üzerinde çalışırken bu bağlantı sizi doğru makaleye götürmelidir:
Hızlı Başlangıç: Belirteç alma ve Node.js konsol uygulamasından Microsoft Graph'ı çağırma
Bu sorun için özür dileriz ve bu sorunu çözmek için çalışırken sabrınızı takdir ediyoruz.
Bu hızlı başlangıçta, Node.js konsol uygulamasının Microsoft Graph API'sini çağırmak ve dizindeki kullanıcıların listesini görüntülemek için uygulamanın kimliğini kullanarak nasıl erişim belirteci alabileceğini gösteren bir kod örneği indirip çalıştıracaksınız. Kod örneği, katılımsız bir işin veya Windows hizmetinin kullanıcı kimliği yerine uygulama kimliğiyle nasıl çalışabileceğini gösterir.
Bu hızlı başlangıçta Node.js için Microsoft Kimlik Doğrulama Kitaplığı (MSAL Node) ve istemci kimlik bilgileri izni kullanılır.
Önkoşullar
- Node.js
- Visual Studio Code veya başka bir kod düzenleyicisi
Örnek uygulamayı indirme ve yapılandırma
1. Adım: Uygulamayı Azure portalında yapılandırma
Bu hızlı başlangıcın kod örneğinin çalışması için bir istemci gizli anahtarı oluşturmanız ve Grafik API'sine User.Read.All uygulama iznini eklemeniz gerekir.
Uygulamanız bu özniteliklerle yapılandırıldı.
2. Adım: Node.js örnek projesini indirme
Not
Enter_the_Supported_Account_Info_Here
3. Adım: Yönetici onayı
Uygulamayı bu noktada çalıştırmayı denerseniz HTTP 403 - Yasak hatası alırsınız: Insufficient privileges to complete the operation. Bu hata, yalnızca uygulama izinlerininyönetici onayı gerektirmesi nedeniyle oluşur: Dizininizin yöneticisi uygulamanıza onay vermelidir. Rolünüze bağlı olarak aşağıdaki seçeneklerden birini belirleyin:
Kiracı yöneticisi
Yöneticiyseniz API İzinleri sayfasına gidin Enter_the_Tenant_Name_Here için > yönetici onayı ver'i seçin
Standart kullanıcı
Kiracınızın standart kullanıcısıysanız, en azından bir Bulut Uygulaması Yöneticisinden uygulamanız için yönetici onayı vermesini istemeniz gerekir. Bunu yapmak için yöneticinize aşağıdaki URL'yi verin:
https://login.microsoftonline.com/Enter_the_Tenant_Id_Here/adminconsent?client_id=Enter_the_Application_Id_Here
4. Adım: Uygulamayı çalıştırma
Bir komut isteminde veya konsolda örneğin kök klasörünü (burada package.json bulunur) bulun. Bu örneğin bağımlılıklarını bir kez yüklemeniz gerekir:
npm install
Ardından, komut istemi veya konsol aracılığıyla uygulamayı çalıştırın:
node . --op getUsers
Konsol çıkışında Microsoft Entra dizininizdeki kullanıcıların listesini temsil eden bir JSON parçası görmeniz gerekir.
Kod hakkında
Aşağıda, örnek uygulamanın önemli yönlerinden bazıları ele alınmalıdır.
MSAL Düğümü
MSAL Düğümü, kullanıcıların oturumunu açmak ve Microsoft kimlik platformu tarafından korunan bir API'ye erişmek için kullanılan belirteçleri istemek için kullanılan kitaplıktır. Açıklandığı gibi, bu başlangıç rehberinde delege edilmiş izinler yerine (uygulamanın kendi kimliğini kullanarak) uygulama izinlerine göre belirteçler istenir. Bu durumda kullanılan kimlik doğrulama akışı, OAuth 2.0 istemci kimlik bilgileri akışı olarak bilinir. MSAL Node'un daemon uygulamalarıyla nasıl kullanılacağı hakkında daha fazla bilgi için bkz . Senaryo: Daemon uygulaması.
Aşağıdaki npm komutunu çalıştırarak MSAL Node'u yükleyebilirsiniz.
npm install @azure/msal-node --save
MSAL başlatılması
Aşağıdaki kodu ekleyerek MSAL başvuru referansını ekleyebilirsiniz:
const msal = require('@azure/msal-node');
Sonra da şu kodu kullanarak MSAL başlatın:
const msalConfig = {
auth: {
clientId: "Enter_the_Application_Id_Here",
authority: "https://login.microsoftonline.com/Enter_the_Tenant_Id_Here",
clientSecret: "Enter_the_Client_Secret_Here",
}
};
const cca = new msal.ConfidentialClientApplication(msalConfig);
Nerede: Açıklama clientIdUygulama (istemci) Kimliği, Azure portalda kayıtlı uygulamadır. Bu değeri Azure portalda uygulamanın Genel bakış sayfasında bulabilirsiniz. authorityBir kullanıcı için kimlik doğrulama amacıyla STS uç noktası. Genellikle https://login.microsoftonline.com/{tenant}genel bulut için, burada {tenant} kiracınızın adı veya kiracı kimliğinizdir.clientSecretAzure portalında uygulama için oluşturulan istemci sırrıdır.
Daha fazla bilgi için lütfen başvuru belgelerine bakın ConfidentialClientApplication
Jeton talep etme
Uygulamanın kimliğini kullanarak belirteç istemek için acquireTokenByClientCredential yöntemini kullanın.
const tokenRequest = {
scopes: [ 'https://graph.microsoft.com/.default' ],
};
const tokenResponse = await cca.acquireTokenByClientCredential(tokenRequest);
Nerede: Açıklama tokenRequestİstenen kapsamları içerir. Gizli istemciler için, istenen kapsamların Azure portalında ayarlanan uygulama nesnesinde statik olarak tanımlanan kapsamlar olduğunu belirtmek için {Application ID URI}/.defaultbenzer bir biçim kullanmalıdır (Microsoft Graph için{Application ID URI}öğesinehttps://graph.microsoft.comişaret eder). Özel web API'leri için,{Application ID URI}Azure portalının Uygulama Kaydı'ndaki BIR API'yi kullanıma sunma bölümünde tanımlanır.tokenResponseYanıt, istenen kapsamlar için bir erişim belirteci içerir.
Yardım ve destek
Yardıma ihtiyacınız varsa, bir sorunu bildirmek veya destek seçenekleriniz hakkında bilgi edinmek istiyorsanız bkz . Geliştiriciler için yardım ve destek.
Sonraki adımlar
MSAL Node ile daemon/konsol uygulaması geliştirme hakkında daha fazla bilgi edinmek için öğreticiye bakın: