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.
Microsoft Authentication Library (MSAL) Düğümü, desteklenen Linux dağıtımlarında çoklu oturum açma (SSO) ve güvenli belirteç alımı sağlamak üzere Linux için Microsoft Çoklu Oturum Açma aracısını kullanabilir. Aracı, kimlik doğrulama el sıkışma süreçlerini ve belirteçlerin yaşam döngüsünü yöneterek kullanıcıların sistem tarafından bilinen hesaplarla entegrasyondan yararlanmasını sağlar.
Bu makalede Linux aracısının ne olduğu, desteklediği dağıtımlar ve Node.js bir uygulamada aracılı belirteç alımının nasıl etkinleştirileceği açıklanır.
Tüm platformlardaki aracısı desteğine genel bir bakış için bkz. MSAL Node'u Yerel Belirteç Aracısı ile Kullanma.
Linux aracısı nedir?
Linux için Microsoft Çoklu Oturum Açma, Linux dağıtımından bağımsız olarak gönderilen bir kimlik doğrulama aracısıdır. Bir paket yöneticisi (sudo apt install microsoft-identity-broker veya sudo dnf install microsoft-identity-broker) ile yükleyin. Ayrıca Şirket Portalı gibi Microsoft uygulamaların bağımlılığı olarak da paketlenmiştir.
Başlıca avantajlar şunlardır:
- Tek oturum açma. Kullanıcıların Microsoft Entra ID ile kimlik doğrulamasını basitleştirir ve yenileme belirteçlerini sızdırma ve kötüye kullanımdan korur.
- Gelişmiş güvenlik. Güvenlik geliştirmeleri, uygulama kodu değişikliklerine gerek kalmadan aracı güncelleştirmeleri aracılığıyla sunulur.
- Belirteç koruması. Aracı, yenileme belirteçlerinin cihaza bağlı olmasını sağlar.
- Sistem tümleştirmesi. Uygulamalar, yerleşik hesap seçicisine entegre olarak kullanıcıların mevcut bir hesabı hızla seçmesine olanak tanır.
Desteklenen dağıtımlar
- Ubuntu 22.04 / 24.04 (x64)
- Red Hat Enterprise Linux (RHEL) 8 / 9 / 10 (x64)
Prerequisites
- Node.js 18 veya üzeri
-
@azure/msal-node-extensionsöğesini bağımlılık olarak yükleyin -
microsoft-identity-brokercihaza yüklenmelidir - Uygulama kaydınıza aracı yeniden yönlendirme URI'sini kaydedin (aşağıdaki Yeniden yönlendirme URI'sine bakın)
- Gerekli sistem bağımlılıklarını yükleyin (aşağıdaki Sistem bağımlılıkları bölümüne bakın)
Yeniden yönlendirme URI'si
Linux aracı akışları için, Azure portalındaki Mobil ve masaüstü uygulamaları platformu altında aşağıdaki yeniden yönlendirme URI'sini kaydedin:
https://login.microsoftonline.com/common/oauth2/nativeclient
Sistem bağımlılıkları
Ubuntu 22.04/24.04
sudo apt install libsecret-1-0 libdbus-1-3
- libsecret — Sistem anahtarlığı (GNOME Anahtarlığı veya KDE Cüzdan) aracılığıyla kimlik doğrulama belirteçlerini güvenli bir şekilde depolar ve alır.
-
dbus — Kimlik doğrulama aracısı ile işlemler arası iletişim. Bir D-Bus oturum veriyolu çalışır durumda olmalıdır (masaüstü ortamlarında standarttır; başsız sunucularda
dbus-run-sessionveya eşdeğeri gerekebilir).
sudo apt install libwebkit2gtk-4.1-0 libgtk-3-0
- WebKitGTK — Etkileşimli oturum açma kullanıcı arabirimi için ekli tarayıcı sağlar.
- GTK — WebKitGTK tarafından gereken temel kullanıcı arabirimi araç seti.
Özelliği etkinleştirme
Linux aracısını etkinleştirme, Windows ve macOS ile aynı yapılandırmayı kullanır. Aracı yapılandırmasına bir NativeBrokerPlugin örneği iletin:
import { PublicClientApplication, Configuration } from "@azure/msal-node";
import { NativeBrokerPlugin } from "@azure/msal-node-extensions";
const msalConfig: Configuration = {
auth: {
clientId: "your-client-id",
},
broker: {
nativeBrokerPlugin: new NativeBrokerPlugin(),
},
};
const pca = new PublicClientApplication(msalConfig);
Note
msal-node aracı kullanılamıyorsa tarayıcı tabanlı bir akışa geri dönmez. Beklenmeyen hataları önlemek için yalnızca desteklenen Linux cihazlarında aracılı kimlik doğrulamasını etkinleştirin.
Belirteç edinme
Etkileşimli belirteç alma
Linux aracısı üzerinden bir belirteç istemek için acquireTokenInteractive kullanın:
const tokenRequest = {
scopes: ["User.Read"],
};
const result = await pca.acquireTokenInteractive(tokenRequest);
console.log("Access token:", result.accessToken);
Etkileşimsiz belirteç edinme
İlk etkileşimli oturum açma işleminden sonra sonraki belirteç istekleri sessizce yapılabilir:
const accounts = await pca.getAllAccounts();
if (accounts.length > 0) {
const silentRequest = {
scopes: ["User.Read"],
account: accounts[0],
};
const result = await pca.acquireTokenSilent(silentRequest);
console.log("Access token (silent):", result.accessToken);
}
Belirteç önbelleğe alma
Kimlik doğrulama aracısı yenileme ve erişim belirteci önbelleğe alma işlemlerini işler. Aracı aracılığıyla alınan belirteçler, aracı tarafından yönetilir ve cihaza bağlıdır. Aracıyı kullanırken özel önbelleğe alma ayarlamanız gerekmez.
Linux aracısını kullanırken farklılıklar
- Aracı bileşen kullanıcı etkileşimi gerektirdiğinde, yerel bir oturum açma iletişim kutusu (WebKitGTK tabanlı) görüntülenir. Bu, tarayıcı tabanlı kimlik doğrulamasına kıyasla kullanıcı deneyimini (UX) değiştirir.
-
forceRefreshparametresiacquireTokenSilentdesteklenmiyor. Bu bayraktan bağımsız olarak aracıdan önbelleğe alınmış bir belirteç alabilirsiniz. - Aracı iletişimin çalışması için D-Bus oturum veri yolu çalışıyor olmalıdır.
Sınırlamalar
- Azure AD B2C ve Active Directory Federasyon Hizmetleri (AD FS) (AD FS) yetkilileri Linux aracısı aracılığıyla desteklenmez.
- Üçüncü taraf kimlik sağlayıcıları (IDP) desteklenmez.
-
microsoft-identity-brokeraracının çalışması için cihaza yüklenmelidir. -
msal-nodearacı kullanılamıyorsa tarayıcıya geri dönmez. Aracıyı yalnızca onu destekleyen ortamlarda etkinleştirin. - Erişim belirteci sahiplik kanıtı (PoP) şu anda Linux aracısı tarafından desteklenmemektedir.