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.
MSAL Angular v5, Angular 19'un en düşük sürümünü gerektirir ve Angular 15, 16, 17 ve 18 için desteği bırakır.
Tarayıcı desteği ve temel kitaplıktaki diğer önemli değişiklikler için lütfen @azure/msal-browser bakın.
Değişikliklerde uyum sorunları @azure/msal-angular@5
protectedResourceMap için katı eşleştirme
msal-angular v5'te, protectedResourceMap girdileri için URL desen eşleştirmesi varsayılan olarak katı eşleştirme semantiğini kullanır. Katı eşleştirme, desen metakarakterlerini harfi harfine değerlendirir, eşleşmeleri URL bileşeninin tamamına sabitler ve nokta ayırıcılarını aşmayan ana bilgisayar joker karakter kurallarını uygular. v4 yapılandırmanız daha gevşek eşleştirme davranışına dayalıysa, desenlerinizi protectedResourceMap katı eşleştirmeyle uyumlu olacak şekilde güncelleştirin veya eski davranışı geçici olarak korumak için strictMatching olarak ayarlayınfalse. Daha fazla ayrıntı için MSAL Interceptor belgelerine başvurun.
Warning
Bu değişiklik v5 ikincil yükseltmelerini de etkileyebilir. Katı eşleştirme ilk olarak benimsediğiniz v5 ikincil sürümünde (örneğin, 5.0.x) henüz varsayılan değilse, katı eşleştirmenin varsayılan olduğu sonraki bir v5 ikincil sürümüne (örneğin 5.1.x) yükseltmek belirteç ekini sessizce kesebilir. Birincil belirti aynıdır: 401 hataları — strictMatching açıkça yapılandırılmadığında artık bir çalışma zamanı uyarısı verilir, ancak eşleşme başarısızlığının kendisi sessiz kalır ve Authorization başlığı artık eklenmez.
Hızlı denetim listesi
- Anahtarlarınızı
protectedResourceMapgözden geçirin. Joker karakterler veya alt yollar içermeyen yalnızca çıplak temel URL’lerden (örn.https://api.example.com) oluşan anahtarlar, artık bu URL’nin alt yollarına yönelik isteklerle eşleşmeyecektir. Bkz. yaygın hata desenleri. - Anahtarları, tam yollar veya joker karakterler kullanacak şekilde güncelleyin. Her anahtar ya uygulamanızın istediği tam URL ile tam olarak eşleşmeli ya da alt yolları eşleştirmek için
/*joker karakteri son ekini kullanmalıdır. Düzeltme seçeneklerine bakın. -
Anahtarlarınız çalışma zamanında dinamik olarak yükleniyorsa,
strictMatching: falsedeğerini geçici olarak güvenli varsayılan olarak ayarlayın. Bkz. Ortam temelli yapılandırmalar için yönergeler.
Ortama dayalı protectedResourceMap
Anahtarlarınız protectedResourceMap Angular environment dosyalarından geliyorsa, APP_INITIALIZER, JSON yapılandırması veya platformBrowserDynamic, geçiş sırasında güvenli bir varsayılan olarak ayarlayın strictMatching: false :
export function MSALInterceptorConfigFactory(): MsalInterceptorConfiguration {
const protectedResourceMap = new Map<string, Array<string>>();
protectedResourceMap.set(environment.apiConfig.uri, environment.apiConfig.scopes);
return {
interactionType: InteractionType.Redirect,
protectedResourceMap,
// TODO: Remove once protectedResourceMap keys are updated to use
// exact paths or wildcard patterns (e.g. "https://api.example.com/*").
strictMatching: false,
};
}
Tüm anahtarlar tam yollara veya joker karakterlere geçirildikten sonra, daha katı ve daha güvenli eşleştirme davranışından yararlanmak için strictMatching: false öğesini kaldırın (veya true olarak ayarlayın). Daha fazla ayrıntı için bkz. ortam tabanlı yapılandırmalar için yönergeler .
logout() Kaldırıldı
logout() kaldırıldı. Bunun yerine logoutRedirect() veya logoutPopup() kullanın.
// BEFORE (v4)
this.authService.logout();
// AFTER (v5)
this.authService.logoutRedirect();
// or
this.authService.logoutPopup();
@azure/msal-angular@5 içindeki diğer değişiklikler
inject(TOKEN) söz dizimi
MSAL_INSTANCE, MSAL_GUARD_CONFIG, MSAL_INTERCEPTOR_CONFIG ve MSAL_BROADCAST_CONFIG, inject(TOKEN) söz dizimini desteklemek için artık dizeler yerine türlere çözümlenir. Bu değişiklik, açık yazma olmadan uygulamalarda TypeScript hatalarının bulunmasına neden olabilir.
handleRedirectObservable() Seçenekler
handleRedirectObservable() artık, @azure/msal-browser@5 içindeki yapılandırmadan taşınan navigateToLoginRequestUrl seçeneğini içeren isteğe bağlı bir HandleRedirectPromiseOptions nesnesini kabul eder. Daha fazla ayrıntı için yeniden yönlendirme belgelerine bakın.
// BEFORE (msal-browser v4 configuration)
const msalConfig = {
auth: {
clientId: 'your-client-id',
navigateToLoginRequestUrl: false // This option has moved
}
};
// AFTER (msal-angular v5)
this.authService.handleRedirectObservable({
navigateToLoginRequestUrl: false
}).subscribe();
Note
Bir hash dizesinin doğrudan handleRedirectObservable(hash) öğesine geçirilmesi kullanımdan kaldırılmıştır. Bunun yerine options nesnesini kullanın: handleRedirectObservable({ hash: "#..." }).
Samples
Aşağıdaki geliştirici örnekleri artık kullanılabilir:
Geçerli MSAL Angular örneklerinin ve sunulan özelliklerin listesi için buraya bakın.