2012-03-28 2 views
0

Ich versuche, die Valenz API in einer kopflosen Art und Weise zu verwenden.Desire 2 Learn Valence API Authentifizierung und Cookies

Seitennotiz: Ich musste die Hyperlinks ändern, damit sie keine Links waren, oder ich konnte die Frage nicht posten.

Szenario 1:

Wenn das Java-Beispiel bereitgestellt verwenden, werden die folgenden URLs getroffen, wenn keine Cookies vorhanden sind:

https://elearning.masked.edu/d2l/auth/api/token?x_a=JjGDh8MaskedDgOGlPPagA&x_b=gnNIMasked99PGLtcVflc_488PD59k2TjJbfyj-jlXHY&x_target=http%3A%2F%2Flocalhost%3A8080%2FD2LValenceExample%2Findex.jsp

Was mir eine 302-Antwort gibt, und sendet den Browser zu

https://elearning.masked.edu/d2l/login?target=%2fd2l%2fauth%2fapi%2ftoken%3fx_a%3dJjGDh8MaskedDgOGlPPagA%26x_b%3dgnNIMasked99PGLtcVflc_488PD59k2TjJbfyj-jlXHY%26x_target%3dhttp%253a%252f%252flocalhost%253a8080%252fD2LValenceExample%252findex.jsp&sessionExpired=1

Das gibt mir eine weitere 302 Antwort und sendet den Bro wser zu

https://elearning.masked.edu/?target=%2fd2l%2fauth%2fapi%2ftoken%3fx_a%3dJjGDh8MaskedDgOGlPPagA%26x_b%3dgnNIMasked99PGLtcVflc_488PD59k2TjJbfyj-jlXHY%26x_target%3dhttp%253a%252f%252flocalhost%253a8080%252fD2LValenceExample%252findex.jsp

Welche der D2L Login-Bildschirm ist. So melde ich mich in und ein Post mit meinen Zugangsdaten gesendet an:

https://elearning.masked.edu/d2l/lp/auth/login/login.d2l

Schließlich mein Browser auf die D2L nach Hause geschickt wird:

https://elearning.masked.edu/d2l/lp/homepage/home.d2l?ou=1234123

Dies folgt nicht dem Fluss wie in http://docs.valence.desire2learn.com/basic/auth.html aufgeführt. Ich habe eine Weiterleitung an die appURL erwartet.

Aber wenn wir dies ein zweites Mal tun, wird das erwartete Ergebnis erreicht:

Szenario 2:

https://elearning.masked.edu/d2l/auth/api/token?x_a=JjGDh8MaskedDgOGlPPagA&x_b=gnNIMasked99PGLtcVflc_488PD59k2TjJbfyj-jlXHY&x_target=http%3A%2F%2Flocalhost%3A8080%2FD2LValenceExample%2Findex.jsp

http://localhost:8080/D2LValenceExample/index.jsp?x_a=Da6kyMaskedDMZy8l_1&x_b=SV6_ONhvMaskedoBc_hHZ&x_c=oD7JMT9CGgyLljIF_1MaskedCI5YZHJPcIgKD4

Der Unterschied ist, die Plätzchen. Wenn ich die Cookies für elearning.masked.edu lösche, passiert immer das Ergebnis in Szenario 1. Daher stellt sich die Frage, wie der Web-Service-Authentifizierungsanruf beim Starten ohne Cookies korrekt durchgeführt werden kann.

Antwort

0

Beim Start ohne Cookies (Szenario 1) ist diese Sequenz, was ich gewohnt bin zu sehen (mit den Proben und Test-Server) mit einem Unterschied.

Im letzten Schritt, wenn Anmeldeinformationen zu veröffentlichen: http {s}: //elearning.masked.edu/d2l/lp/auth/login/login.d2l

Das erwartete Ergebnis wäre zunächst zu umleiten zurück zum Login-Ressource (D2L/auth/api/Token) und dann auf Ihr Ziel: http://localhost:8080%/D2LValenceExample/index.jsp

Paar Vorschläge dies herauszufinden:

Hat diese gleiche Code Arbeit den Schlüssel und Server aus der Probe unter Verwendung von (http://docs.valence.desire2learn.com/samples/gettingStarted.html#java)? Wenn dies der Fall ist, schlägt es etwas Kontextspezifisches für den Server vor (was bedeuten kann, dass man den D2L-Support kontaktiert).

Gibt es weitere Umleitungsschritte zwischen dem Senden von Anmeldeinformationen und dem Ankommen auf der Homepage?

Gibt es spezielle Filter oder Authentifizierungssysteme, die die Anmeldung beeinträchtigen könnten?

+0

Das war ein toller Punkt. Ihr Testsystem liefert das gewünschte Ergebnis. Ich klicke auf ihren Login-Bildschirm, logge mich ein und leite sie dann zurück. Ich werde ein Ticket mit ihnen bekommen, warum unser System sich nicht so verhält. –

+0

Der Zielparameter wurde nicht gesendet. D2L hat uns dazu gebracht, die Anmeldeseite anzupassen, um das Problem zu beheben. Es sieht so aus, als ob die Java-Demo ohne Code-Anpassungen nicht richtig umgeleitet wird. Das PDF, auf das sie uns hinübergeschoben haben, war das Anpassen der Anmeldeseite 9.x.pdf. Es enthält einige Informationen zum Anpassen der Seite darin. –