Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Jeśli aplikacja klasyczna lub mobilna działa na Windows, a na maszynie podłączonej do domeny Windows (Active Directory lub przyłączonej Microsoft Entra) można użyć zintegrowanego uwierzytelniania Windows (IWA) w celu uzyskania tokenu dyskretnie. W przypadku korzystania z aplikacji nie jest wymagany żaden interfejs użytkownika.
final String AUTHORITY;
final String APP_ID;
String userName;
List<String> scopes;
PublicClientApplication app = PublicClientApplication.builder(APP_ID)
.authority(AUTHORITY)
.build();
IntegratedWindowsAuthenticationParameters parameters =
IntegratedWindowsAuthenticationParameters.builder(scope, userName).build();
IAuthenticationResult future = app.acquireToken(parameters).get();
Constraints
- Tylko użytkownicy federacyjni*, tj. w przypadku, gdy uwierzytelnianie jest sfederowane z urzędem lokalnym (na przykład ADFS) lub scenariuszami hybrydowymi, w których włączono bezproblemowe logowanie jednokrotne. Dzierżawy działające wyłącznie w chmurze, w których użytkownicy są bezpośrednio w Microsoft Entra ID, bez zaplecza w usłudze Active Directory, nie mogą korzystać z tego przepływu.
- Usługa IWA nie pomija uwierzytelniania wieloskładnikowego (uwierzytelnianie wieloskładnikowe). Jeśli uwierzytelnianie wieloskładnikowe jest skonfigurowane, uwierzytelnianie wieloskładnikowe może zakończyć się niepowodzeniem, jeśli wymagane jest wyzwanie uwierzytelniania wieloskładnikowego, ponieważ uwierzytelnianie wieloskładnikowe wymaga interakcji z użytkownikiem.
Jest to trudne. Usługa IWA nie jest interaktywna, ale 2FA wymaga interakcyjności użytkownika. To nie Ty kontrolujesz, kiedy dostawca tożsamości wymaga przeprowadzenia uwierzytelniania dwuskładnikowego (2FA) — robi to administrator dzierżawy. Z naszych obserwacji uwierzytelnianie 2FA jest wymagane w przypadku logowania się z innego kraju/regionu, gdy połączenie nie jest połączone za pośrednictwem sieci VPN do sieci firmowej, a czasami nawet w przypadku połączenia za pośrednictwem sieci VPN. Nie należy oczekiwać deterministycznego zestawu zasad; Microsoft Entra ID wykorzystuje sztuczną inteligencję, aby stale uczyć się, czy uwierzytelnianie 2FA jest wymagane. Należy użyć monitu użytkownika jako rozwiązania zastępczego, jeśli IWA zawiedzie.
Uprawnienie przekazane w elemencie
PublicApplicationmusi być:- tenanted (w postaci
https://login.microsoftonline.com/{tenant}/, gdzietenantto identyfikator GUID reprezentujący identyfikator dzierżawy lub domenę skojarzoną z dzierżawą. - dla wszelkich kont służbowych i szkolnych (
https://login.microsoftonline.com/organizations/)
Microsoft konta osobiste nie są obsługiwane (nie można używać /common lub /consumers tenants)
- tenanted (w postaci
Ponieważ zintegrowane uwierzytelnianie Windows jest przepływem dyskretnym:
- użytkownik aplikacji musi wcześniej wyrazić zgodę na korzystanie z aplikacji
- lub administrator dzierżawy musi wcześniej wyrazić zgodę na korzystanie z aplikacji przez wszystkich użytkowników w dzierżawie.
- Oznacza to, że:
- albo Ty, jako deweloper, nacisnąłeś(-aś) przycisk Grant w portalu Azure dla siebie,
- lub administrator dzierżawy nacisnął przycisk Udziel/odwołaj zgody administratora dla {domeny dzierżawy} na karcie Uprawnienia interfejsu API rejestracji dla aplikacji
- lub udostępniono użytkownikom sposób wyrażania zgody na aplikację
- lub zapewniono administratorowi dzierżawy możliwość wyrażenia zgody na aplikację