Błąd AADSTS900971 („No reply address provided”) pojawia się, gdy aplikacja próbująca zalogować użytkownika przez Microsoft Entra ID (dawniej Azure AD) nie ma skonfigurowanego adresu URL przekierowania (redirect URI) — albo podany adres nie pasuje do żadnego z zarejestrowanych. Najczęściej dotyka to administratorów IT i deweloperów integrujących własne aplikacje z Microsoft 365, ale może też wystąpić u zwykłych użytkowników przy próbie logowania do niestandardowych narzędzi firmowych.
Kluczowa informacja: błąd AADSTS900971 nie leży po stronie użytkownika końcowego ani jego hasła — to problem konfiguracyjny w rejestracji aplikacji po stronie dzierżawy Entra ID (tenant). Naprawia go administrator dzierżawy w centrum administracyjnym Microsoft Entra.
W skrócie
- Kod błędu: AADSTS900971
- Komunikat: „No reply address provided” (nie podano adresu odpowiedzi / brak zarejestrowanego redirect URI)
- Gdzie występuje: podczas logowania przez Microsoft Entra ID do aplikacji webowych, API, narzędzi firmowych, Power Automate, aplikacji SharePoint
- Kto może naprawić: administrator dzierżawy (rola Application Administrator, Cloud Application Administrator lub Global Administrator)
- Główna przyczyna: brakujący lub niepasujący adres URL przekierowania w rejestracji aplikacji
- Czas naprawy: 2–5 minut po zidentyfikowaniu właściwego redirect URI
Czym dokładnie jest błąd AADSTS900971?
AADSTS900971 to kod błędu zwracany przez usługę tokena zabezpieczającego (STS) Microsoft Entra ID w ramach przepływu uwierzytelniania OAuth 2.0 lub OpenID Connect. Kiedy użytkownik próbuje zalogować się do aplikacji, aplikacja wysyła żądanie autoryzacji zawierające m.in. parametr redirect_uri — adres, na który Entra ID ma przekierować użytkownika po pomyślnym (lub niepomyślnym) uwierzytelnieniu.
Jeśli w rejestracji aplikacji (App Registration) nie skonfigurowano żadnego redirect URI lub przesłany redirect URI nie pasuje do żadnego z zarejestrowanych, Entra ID odrzuca żądanie z kodem AADSTS900971. Jest to mechanizm bezpieczeństwa uniemożliwiający przekierowanie tokenu dostępu do nieautoryzowanego adresu — zgodnie ze specyfikacją OAuth 2.0 (RFC 6749), która wymaga ścisłej walidacji redirect_uri.
Główne przyczyny występowania błędu
| Przyczyna | Opis | Najczęstszy scenariusz |
|---|---|---|
| Brak redirect URI w rejestracji aplikacji | App Registration nie ma skonfigurowanego żadnego adresu URL przekierowania | Nowo utworzona aplikacja, której deweloper zapomniał dodać redirect URI |
| Niezgodność redirect URI | Aplikacja wysyła adres https://mojaapka.pl/callback, ale w rejestracji figuruje https://mojaapka.pl/login | Zmiana ścieżki callbacku w kodzie aplikacji bez aktualizacji w Entra ID |
| Niezgodność protokołu (HTTP vs HTTPS) | Aplikacja używa http://localhost lokalnie, ale w rejestracji zapisano tylko https://... | Deweloper testuje lokalnie, a rejestracja aplikacji dopuszcza tylko HTTPS |
| Brak końcowego ukośnika (trailing slash) | Entra ID traktuje https://mojaapka.pl/ i https://mojaapka.pl jako różne adresy | Niedokładność przy kopiowaniu adresu URL |
| Nieprawidłowa konfiguracja platformy | Redirect URI dodano dla „Web”, ale aplikacja działa jako „Single-page application (SPA)” | Błędny wybór typu platformy przy rejestracji aplikacji |
| Przekierowanie z parametrami niepasującymi do wzorca | Entra ID odrzuca redirect URI z dynamicznymi parametrami niedozwolonymi dla danego typu platformy | Próba użycia wildcardów (*) w redirect URI dla aplikacji webowej |
| Aplikacja wielodzierżawcza (multi-tenant) błędnie skonfigurowana | Redirect URI wymaga dodania osobno dla każdej dzierżawy lub użycia endpointu /common | Integracja aplikacji ISV z Microsoft 365 klienta |
Jak naprawić błąd AADSTS900971 — instrukcja krok po kroku
Krok 1: Zidentyfikuj aplikację i redirect URI
- Odczytaj pełny komunikat błędu — znajdziesz w nim identyfikator aplikacji (Application ID / Client ID) oraz redirect URI, który został odrzucony.
- Jeśli błąd pojawił się w przeglądarce, sprawdź URL strony błędu — często zawiera parametry
client_idiredirect_uri. - Możesz też sprawdzić dzienniki logowania w Microsoft Entra admin center: Identity → Monitoring & health → Sign-in logs — odfiltruj po kodzie błędu
900971.
Krok 2: Zaktualizuj redirect URI w rejestracji aplikacji
- Zaloguj się do centrum administracyjnego Microsoft Entra jako administrator z odpowiednimi uprawnieniami.
- Przejdź do Identity → Applications → App registrations.
- Wybierz All applications i wyszukaj aplikację po jej nazwie lub Client ID.
- W panelu aplikacji kliknij Authentication w lewym menu.
- W sekcji Platform configurations sprawdź istniejące wpisy:
- Jeśli nie ma żadnego redirect URI — kliknij Add a platform, wybierz odpowiedni typ (Web, SPA, Mobile/desktop) i wprowadź poprawny adres URL.
- Jeśli redirect URI istnieje, ale jest nieprawidłowy — kliknij Edit przy danym wpisie i popraw adres.
- Zweryfikuj dokładnie, czy adres zgadza się co do:
- protokołu (
httpvshttps) - domeny i portu (szczególnie dla
localhost:3000,localhost:8080itp.) - pełnej ścieżki (razem z końcowym ukośnikiem lub bez — zgodnie z tym, co wysyła aplikacja)
- protokołu (
- Kliknij Configure (przy nowej platformie) lub Save (przy edycji).
- Zmiana wchodzi w życie natychmiast — nie ma potrzeby restartowania aplikacji ani usługi.
Wskazówka: dla aplikacji SPA (Single-Page Application) opartych na MSAL.js redirect URI musi być typu SPA — nie Web. Wybór złego typu platformy to jedna z najczęstszych przyczyn błędu 900971.
Krok 3: Konfiguracja dla aplikacji wielodzierżawczych (multi-tenant)
Jeśli Twoja aplikacja ma obsługiwać użytkowników z różnych dzierżaw Microsoft 365 (np. jesteś dostawcą SaaS), upewnij się, że:
- W rejestracji aplikacji ustawiono Supported account types na „Accounts in any organizational directory”.
- Redirect URI nie może zawierać wieloznaczników (
*) — każdy redirect URI musi być jawnie wymieniony. - Używasz endpointu
/common(np.https://login.microsoftonline.com/common/oauth2/v2.0/authorize), a nie/organizationsani identyfikatora konkretnej dzierżawy.
Krok 4: Testowanie i weryfikacja
Po zaktualizowaniu redirect URI:
- Wyloguj się ze wszystkich sesji Microsoft 365 (opcjonalnie otwórz okno InPrivate / incognito, by uniknąć cache'owania sesji).
- Ponów próbę logowania do aplikacji.
- Jeśli błąd nadal występuje, sprawdź Sign-in logs w Entra admin center — zobaczysz dokładny redirect URI, który został odrzucony.
Jak sprawdzić redirect URI wysyłany przez aplikację
Jeśli nie masz dostępu do kodu źródłowego aplikacji, możesz podejrzeć redirect URI w żądaniu autoryzacji:
- Otwórz Narzędzia deweloperskie w przeglądarce (F12) i przejdź do zakładki Network.
- Rozpocznij logowanie do problematycznej aplikacji.
- Znajdź żądanie do
login.microsoftonline.comz parametremredirect_uri. - Skopiuj dokładną wartość
redirect_urii porównaj ją z wpisem w App Registration.
Tabela porównawcza — AADSTS900971 a podobne błędy
| Kod błędu | Komunikat | Przyczyna | Kto naprawia |
|---|---|---|---|
| AADSTS900971 | No reply address provided | Brakujący / niepasujący redirect URI w rejestracji aplikacji | Administrator Entra ID |
| AADSTS50011 | Invalid reply URL | Redirect URI w żądaniu nie pasuje do skonfigurowanych | Administrator Entra ID |
| AADSTS700016 | Application not found | Aplikacja nie istnieje w dzierżawie | Administrator Entra ID |
| AADSTS65001 | Consent missing | Brak zgody użytkownika/administratora na użycie aplikacji | Użytkownik lub administrator |
| AADSTS50020 | User account not found | Konto użytkownika nie istnieje w dzierżawie | Administrator dzierżawy (zaproszenie B2B) |
| AADSTS50034 | User account not in directory | Użytkownik nie został dodany do katalogu | Administrator dzierżawy |
| AADSTS90002 | Tenant not found | Nieprawidłowa nazwa dzierżawy (tenant) | Weryfikacja identyfikatora dzierżawy |
Zapobieganie — dobre praktyki konfiguracji redirect URI
- Dodawaj redirect URI natychmiast po utworzeniu rejestracji aplikacji — nie zostawiaj pustej listy.
- Dla każdego środowiska (dev, staging, prod) utwórz osobny redirect URI — np.
https://dev.mojaapka.pl/callback,https://mojaapka.pl/callback. - Dla deweloperów pracujących lokalnie dodaj
http://localhost:3000(lub odpowiedni port) jako redirect URI dla kont testowych — nigdy nie umieszczaj localhost w produkcyjnej rejestracji aplikacji. - Unikaj wildcardów (
*) w redirect URI — Entra ID nie wspiera ich dla aplikacji webowych i SPA. - Używaj HTTPS dla wszystkich środowisk poza lokalnym — Microsoft rekomenduje HTTPS jako obowiązkowy dla produkcyjnych redirect URI.
- Dokumentuj listę redirect URI w repozytorium kodu aplikacji, aby każdy członek zespołu wiedział, jakie adresy są zarejestrowane.
Częste pytania
Czy błąd AADSTS900971 oznacza, że moje konto zostało zhakowane?
Nie. Błąd AADSTS900971 nie ma związku z bezpieczeństwem konta użytkownika. To problem czysto konfiguracyjny po stronie aplikacji, która próbuje Cię uwierzytelnić. Twoje hasło i dane logowania nie są zagrożone — po prostu aplikacja nie jest poprawnie skonfigurowana w Microsoft Entra ID.
Czy mogę samodzielnie naprawić błąd AADSTS900971 jako zwykły użytkownik?
Nie — naprawa wymaga dostępu do centrum administracyjnego Microsoft Entra i uprawnień co najmniej Application Administrator. Jako użytkownik końcowy powinieneś zgłosić problem do administratora IT swojej organizacji, podając dokładny komunikat błędu oraz nazwę aplikacji, do której próbujesz się zalogować.
Czy błąd AADSTS900971 może wystąpić w aplikacjach mobilnych?
Tak. W przypadku aplikacji mobilnych (iOS, Android) redirect URI ma specyficzny format — np. msauth.com.firma.nazwaapki://auth dla iOS lub msauth://com.firma.nazwaapki/hash dla Androida. Jeśli deweloper pomyli format lub zarejestruje redirect URI jako typ „Web” zamiast „Mobile/desktop”, użytkownik mobilny zobaczy błąd 900971.
Czy zmiana redirect URI wymaga ponownego opublikowania aplikacji?
Nie. Redirect URI są przechowywane w rejestracji aplikacji po stronie Entra ID — nie w kodzie aplikacji. Po zapisaniu zmiany w centrum administracyjnym Entra obowiązuje ona natychmiast, bez konieczności wdrażania nowej wersji aplikacji.
Czy mogę używać tego samego redirect URI dla wielu aplikacji?
Technicznie tak — nie ma ograniczenia, które zabrania używania tego samego redirect URI w różnych rejestracjach aplikacji. Jednak nie jest to zalecana praktyka, ponieważ utrudnia diagnostykę problemów i może prowadzić do konfliktów przy złożonych przepływach uwierzytelniania.
Czy błąd AADSTS900971 może być spowodowany przez Conditional Access?
Nie bezpośrednio. Błąd 900971 występuje na etapie walidacji redirect URI, zanim jeszcze Entra ID sprawdzi polityki Conditional Access. Jeśli jednak Conditional Access wymusza dodatkowe przekierowanie (np. na stronę rejestracji MFA), a to przekierowanie nie jest zarejestrowane jako redirect URI, może pojawić się kaskadowy błąd 900971.
Jak odróżnić AADSTS900971 od AADSTS50011?
AADSTS900971 oznacza całkowity brak pasującego redirect URI (lub pustą listę), natomiast AADSTS50011 występuje, gdy redirect URI istnieje w rejestracji, ale nie pasuje dokładnie do wysłanego w żądaniu — np. różni się wielkością liter, końcowym ukośnikiem lub parametrami query string. W praktyce oba błędy naprawia się tym samym sposobem: weryfikując i aktualizując listę redirect URI w App Registration.
Niezależna encyklopedia KluczeSoft — nie jesteśmy powiązani z Microsoft Corporation. Microsoft, Microsoft 365, Entra ID, Azure, Windows i Office są zastrzeżonymi znakami towarowymi Microsoft.
Potrzebujesz stabilnych licencji Microsoft 365 dla swojej firmy?
Jeśli konfigurujesz aplikacje firmowe z Microsoft Entra ID i potrzebujesz niezawodnych licencji Microsoft 365 Business Premium (wymaganych m.in. do zaawansowanych funkcji Conditional Access i Identity Protection), sprawdź ofertę legalnych kluczy w KluczeSoft.pl — w pełni zgodną z prawem Unii Europejskiej (wyrok Trybunału Sprawiedliwości UE w sprawie UsedSoft C-128/11).
