2016-05-09 3 views
1

Wir haben einen Web-App zur Verfügung stellen, die zur Zeit von SSO für Office bietet 365. Dies funktioniert gut, wie folgt:Wie SSO aus dem My Apps Launcher erreichen

  1. Benutzer treffen unsere Website
  2. User „Anmeldung wählen mit Office 365"
  3. Office 365 Authentifizierungsfenster startet
  4. Benutzer O365 Anmeldeinformationen eingibt und wird von O365 authentifiziert
  5. Wir erhalten Token und den Benutzer authentifizieren.

Wie ich sage, das funktioniert gut. Wir haben jedoch festgestellt, dass, wenn ein Benutzer bereits in O365 authentifiziert wurde und dann unsere App aus dem My Apps Launcher auswählt, das O365-Authentifizierungsfenster angezeigt wird und sie sich erneut authentifizieren müssen (was sie nicht als bereits in O365 angemeldet haben sollten).

wir dieser Seite ein paar Mal überprüft haben: https://msdn.microsoft.com/en-us/office/office365/howto/connect-your-app-to-o365-app-launcher

Es deutet darauf hin, dass das, was wir tun wollen ist möglich: aber „Der App-Launcher startet Sign-On mit dem Sign-On-URL für die Anwendung“ Wir finden keine Dokumentation darüber, wie die zwischengespeicherten Anmeldeinformationen für den derzeit authentifizierten Benutzer ermittelt werden.

Antwort

1

Die App Launcher startet Sign-On mit dem Sign-On-URL für die Anwendung

Ich nehme an, Sie die OpenID Connect verwenden. Stellen Sie in Azure AD sicher, dass die SIGN-ON-URL korrekt ist. Es sollte derselbe Link sein wie die "Anmeldung bei Office 365" in Ihrer Anwendung.

enter image description here

+0

Danke Jeffrey. Im Grunde machen wir das so. Wenn der Benutzer auf die Anmeldung mit der Schaltfläche "Office 365" klickt, rufen Sie "https://login.windows.net/common/oauth2/authorize" auf. mit einigen Argumenten (API-Version, ClientId usw.). Wir haben unsere SIGN-ON-URL auf "https://login.windows.net/common/oauth2/authorize?azureAd" gestellt. – SLRM

+0

Wir haben auch versucht, die Anmeldungs-URL auf der Anmeldeseite unserer App zu setzen. – SLRM

+0

Bei der ON-URL empfiehlt es sich, die SIGN-ON-URL https: // your_app/account/sign_with_office365 auf der Serverseite festzulegen, um die Anforderung an https://login.microsoftonline.com/common/oauth2/authorize?client_id umzuleiten = {clinet_id} ... das Setzen der ANMELDUNG-URL auf der Anmeldeseite der App funktioniert nicht, da sie auch die Anmeldung für andere Kontotypen übernimmt. –

0

So gelang es uns, dieses Problem zu lösen. Das Problem war mit einem der Parameter in unserer Endpunkt-URL. Wir hatten den optionalen Parameter "prompt" eingeschlossen:

Eingabeaufforderung [Optional] Geben Sie die Art der Benutzerinteraktion an, die erforderlich ist. Gültige Werte sind: - login: Der Benutzer sollte aufgefordert werden, sich erneut zu authentifizieren. - Zustimmung: Die Zustimmung des Benutzers wurde erteilt, muss jedoch aktualisiert werden. Der Benutzer sollte zur Zustimmung aufgefordert werden. - admin_consent: Ein Administrator sollte aufgefordert werden, im Namen aller Benutzer in seiner Organisation zuzustimmen.

Beachten Sie, dass es das Verhalten nicht beschreibt, wenn es weggelassen wird. Wie auch immer, das Entfernen hat funktioniert.