2016-11-22 1 views
0

Wenn ich derzeit nicht authentifiziert bin und versuche, ein Video im HTML5-Video-Tag für ein Video zu laden, das von meinem Azure AD geschützt wird, wird das Video nicht geladen. Ich sehe, dass es versucht,/video/123 aufzurufen und eine 302 mit einer Standorteigenschaft von https://login.microsoftonline.com/ zurückgibt ... Es macht dann eine andere Anfrage für diese Standorteigenschaft und gibt eine 200 zurück. Das Video ist natürlich nicht spielbar, weil es nicht hat Das Video-Asset wurde geladen.Azure AD mit HTML5-Video

Natürlich, wenn ich bereits authentifiziert bin, gibt es kein Problem. Wie kann ich mit dem Video den Anmeldebildschirm aufrufen?

Antwort

3

Da Ihr Video durch AAD geschützt ist und alle Anforderungen gegen AAD den Berechtigungsheader mit Zugriffstoken enthalten müssen. Daher wird die nicht authentifizierte Anfrage für Ihr Video auf die SSO-Seite von Azure AD umgeleitet.

Der einfachste und direkteste Weg, dies zu erreichen, besteht darin, nur den authentifizierten Benutzer zu akzeptieren, um die spezielle Seite mit dem Video zu besuchen. Um den Benutzer auf der Seite zu verifizieren, wenn er nicht autorisiert ist, führen Sie die Umleitung zur Azure AD SSO-Seite durch.

Sie können adal for js nutzen, um die Funktionalität mit Leichtigkeit zu implementieren. In der Zwischenzeit können Sie sich auf https://gist.github.com/Walk4Muscle/70b11b272131eedfc0360076fcd64b2c für das einfache Javascript beziehen, das mit ADAL für js integriert.

+0

Dank Gary, das macht Sinn. Wir haben jedoch immer noch das Problem, wenn sie auf der Seite authentifiziert werden, dann etwa 20 Minuten lang inaktiv sind und dann auf ein Video klicken. Wir haben eine Liste von Videos, und wenn man darauf klickt, ändert sich das src-Attribut des Videoelements und es wird alles mit Javascript abgespielt. Irgendwelche Ideen über das Leerlaufproblem, wenn die nächste Anfrage, die authentifiziert werden muss, ein Video im Videoelement ist? Vielen Dank! – Jeremy

+0

Sie können mehrere js-Plugins von Drittanbietern nutzen, um die Leerlaufereignisse der Benutzer zu überwachen. Z.B. Versuchen Sie, https://github.com/kidh0/jquery.idle zu verwenden. Wenn das Ereignis "Leerlauf" ausgelöst wird, umleiten Sie die Anmeldeseite oder aktualisieren Sie das Zugriffstoken. –