2017-01-01 17 views
6

Ich habe in Azure AD einen B2C-Dienst konfiguriert und Google als Authentifizierungsanbieter hinzugefügt, um festzustellen, dass Google Authentifizierungsanfragen über eine eingebettete Webansicht nicht zulässt. Dann habe ich AppAuth gefunden, aber es fällt mir schwer, die Beispiel-iOS-App zum Laufen zu bringen.AppAuth mit Azure AD B2C

Das Problem, das ich habe, bezieht sich auf die Umleitung URI. Die Verwendung des von AAD bereitgestellten Umleitungs-URIs für native Apps führt zu einem Fehler in Safari Mobile. Ich habe versucht, ein benutzerdefiniertes Weiterleitungs-URI hinzuzufügen, das auf meine iOS-App umgeleitet wird, dies jedoch nicht möglich ist, da es die Validierung in der azure-Anzeigenkonfiguration fehlschlägt, da es nicht im https-URL-Schema enthalten ist.

Kann AppAuth mit Azure AD B2C verwendet werden? Gibt es eine Möglichkeit, dies richtig zu konfigurieren oder sind Änderungen auf MS-Seite erforderlich?

EDIT

Ich habe B2C Azure AD Setup und Arbeiten einschließlich der Konto Login Google. Dies funktioniert wie erwartet in einem Webbrowser, aber wenn ich versuche, mich von iOS über eine eingebettete Webansicht bei Google anzumelden, bekomme ich disallowed_useragent. Bei der Recherche bin ich auf die -Bibliothek gestoßen, die meiner Meinung nach die sicherste Lösung der Wahl ist, abgesehen von der Tatsache, dass sie aufgrund von Redirect-Problemen nicht mit B2C funktioniert, oder zumindest habe ich keinen Weg gefunden, dies zu erreichen.

Ich erwarte, dass ich in der Lage sein muss, eine Weiterleitungs-URL in B2C zu liefern, die für meine App auf iOS einzigartig ist, so dass der SFSafariViewController zurück zu meiner App umleiten kann. Die Verwendung der Webkonfiguration in B2C scheint der richtige Ansatz zu sein, erfordert jedoch die Verwendung von https anstelle eines benutzerdefinierten Schemas.

Gibt es eine Möglichkeit, B2C für einen benutzerdefinierten Weiterleitungs-URI zu konfigurieren?

Antwort

0

Azure AD B2C unterstützt Web-Apps, mobile Apps wie iOS und Android sowie native Apps.

Um Google-Konten in Azure AD B2C zu integrieren, müssen Sie in der Google Developers Console eine Anwendung erstellen. Konfigurieren Sie dann Google als Identitätsanbieter in Azure AD B2C. Bitte beachten Sie den folgenden Link für weitere Details.

https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-setup-goog-app

Dann müssen Sie die Anwendung mit dem Azure AD B2C Mieter registrieren. Wenn es sich bei der Anwendung um eine mobile oder native App wie iOS handelt, können Sie sie als nativen Client mit der angegebenen Umleitungs-URI für die Konfiguration auswählen. Sie können auf den Link unten für die Registrierung der Anwendung verweisen.

enter image description here

Um Anmeldung auf der Anwendung zu aktivieren, müssen Sie auch eine Anmelderichtlinie erstellen. Diese Richtlinie beschreibt die Erfahrungen, die die Verbraucher bei der Anmeldung machen, und die Inhalte der Tokens, die die Anwendung bei erfolgreichen Anmeldungen erhalten wird. Weitere Informationen finden Sie unter dem folgenden Link.

https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-reference-policies

By the way, können Sie auch für eine Probe auf den folgenden Link finden Sie über einen iOS-App zu bauen.

https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-devquickstarts-ios

+0

Vielen Dank für die Informationen, aber ich bin weit über diese Schritte. Ich suche nach Informationen zur AppAuth-Integration. –

1

Ich bin der Lead Maintainer von AppAuth.

Wie Microsoft derzeit die Umleitung URI-Schema auf https beschränkt, haben Sie zwei Möglichkeiten auf iOS:

  1. Konfigurieren eines Universal Link für Ihre Anwendung, so dass es mit dem Betriebssystem registriert ist, Anfragen an einen bestimmten zu handhaben https-Domäne. Dies ist die sicherste Option, da es verhindert, dass andere Apps auf dem Gerät versuchen, denselben Link zu registrieren. Diese Option ist jedoch nur für iOS 9 und höher verfügbar.

  2. Erstellen Sie eine Zwischenseite, die die Autorisierungsantwortparameter erfasst und diese dann an Ihren benutzerdefinierten Schema-URI weiterleitet. Ich führe eine Android-Demo dazu, die Microsoft-Integration, here enthält. Die Zwischenseite erfordert leider einen zusätzlichen Klick vom Benutzer.

+0

Vielen Dank für die Vorschläge. Ich möchte die Sicherheit von SFSafariViewController und Chrome Custom Tabs zusammen mit einem netten UX. Es scheint, dass die Verwendung von Azure AD B2C bedeutet, dass ich entweder keine verbesserte Sicherheit verwende oder B2C nicht verwende. Wissen Sie, wann Microsoft plant, dieses Problem zu lösen und wie es gelöst wird? –

+0

Ich habe leider keine Kontakte bei Microsoft; Wenn Sie ein zahlender Azure-Kunde sind, würde ich vorschlagen, den Support zu kontaktieren und diese Frage direkt zu stellen. Wenn nichts anderes, könnte es ein weiteres +1 hinzufügen, um die Empfehlungen von OAuth für 2.0 für native Apps besser zu unterstützen: https://tools.ietf.org/html/draft-ietf-oauth-native-apps-07 – iainmcgin