Java >> Java Tutorial >  >> Java

Unterstützung der FORMS-Authentifizierung für ADFS in Android-Anwendungen

Szenario mit ADFS-Authentifizierung

Kürzlich bin ich auf dieses Szenario gestoßen, in dem eine Anwendung ADFS zur Authentifizierung verwendet hat. Der Administrator hat die integrierte Windows-Authentifizierung konfiguriert sowie Formularauthentifizierung als Authentifizierungsrichtlinien. Wenn der Benutzer jedoch auf die Android-Anwendung zugreift, schlägt die passive Authentifizierung über den Android-Webview-Browser fehl, da er zur integrierten Windows-Authentifizierungs-URL statt zur Formularauthentifizierung umleitet. Da der Webview-Browser WIA nicht unterstützt.

Eine Lösung zum Konfigurieren von ADFS

Die meisten Organisationen verwenden bei Verwendung von Active Directory Federation Services (ADFS) die integrierte Windows-Authentifizierung für ihr Intranet. Dies hilft Benutzern in ihren Netzwerken, Anmeldeinformationen nur einmal einzugeben. Die meisten browserbasierten Anwendungen bieten Benutzern ein nahtloses Erlebnis, ohne dass sie zur erneuten Eingabe von Anmeldeinformationen aufgefordert werden.

In diesem Szenario versuchte ein Benutzer jedoch, auf eine Android-Anwendung zuzugreifen, die ebenfalls eine passive Authentifizierung mit einem Android-Webview-Browser erfordert. Aber der Android-Webview-Browser unterstützt WIA nicht, was zu einem Authentifizierungsfehler führt.

In einem solchen Szenario sollte ADFS auf die FORMS-Authentifizierung zurückgreifen und den Benutzer zum Anmeldeformular umleiten. ADFS für Windows Server bietet einen einfachen Konfigurationstrick für die Authentifizierung, um auf FORMS zurückzugreifen.

  1. WIASupportedUserAgentString Eigenschaft von Set-ADFSProperties Befehl
  2. WindowsIntegratedFallbackEnabled Eigenschaft von Set-AdfsGlobalAuthenticationPolicy Befehl

Set-AdfsGlobalAuthenticationPolicy -WindowsIntegratedFallbackEnabled $true

WIASupportedUserAgentString gibt den Benutzeragenten, die WIA unterstützen. Wenn die Komponente der Benutzeragentenzeichenfolge mit keiner der Komponenten der Benutzeragentenzeichenfolgen übereinstimmt, die in WIASupportedUserAgentString konfiguriert sind -Eigenschaft greift ADFS auf die Bereitstellung einer formularbasierten Authentifizierung zurück, vorausgesetzt WindowsIntegratedFallbackEnabled Flag ist auf true gesetzt.

Get-AdfsProperties | Select -ExpandProperty WIASupportedUserAgents

MSIE 6.0

MSIE 7.0; Windows NT

MSIE 8.0

MSIE 9.0

MSIE 10.0; Windows NT 6

MSIE 11.0; Windows NT 10

Windows NT 6.3; Trident/7.0

Windows NT 6.3; Win64; x64; Trident/7.0

Windows NT 6.3; WOW64; Trident/7.0

Windows NT 6.2; Trident/7.0

Windows NT 6.2; Win64; x64; Trident/7.0

Windows NT 6.2; WOW64; Trident/7.0

Windows NT 6.1; Trident/7.0

Windows NT 6.1; Win64; x64; Trident/7.0

Windows NT 6.1; WOW64; Trident/7.0

Windows NT 10.0; Trident/7.0

Windows NT 10.0; Win64; x64; Trident/7.0

Windows NT 10.0; WOW64; Trident/7.0

MSIPC

In diesem speziellen Fall haben wir Safari entfernt und Chrome aus der Liste der User-Agent-Strings, dann funktionierte die Authentifizierung für die Anwendung durch passive Authentifizierung.

Schlussfolgerung

Abschließend habe ich in diesem Beitrag gezeigt, wie man die FORMS-Authentifizierung mit ADFS für eine Android-Anwendung verwendet. Wenn Ihnen dieser Beitrag gefallen hat, abonnieren Sie meinen Blog.

Referenzen

  1. Formularbasierte Authentifizierung konfigurieren
  2. Formularbasierte Authentifizierung


Java-Tag