Also das ganze läuft folgendermaßen ab:
Beim Aufruf der Login Seite wird /auth/createchallenge/*random chars*/challenge.js aufgerufen (der Link zur .js steht im Quelltext und diesen kann ich auch problemlos in .NET auslesen und aufrufen). So, dort ist dann nun die eigentliche JavaScript Funktion. Diese wollte ich anfangs in .NET einfach nachbauen, war auch schon zur Hälfte fertig - bloß hab ich später gemerkt, dass bei jedem neuen createchallenge die JavaScript Funktion anders aufgebaut ist -> der Ablauf, wie der benötigte Wert generiert wird ist anders. Pseudo:
Code:
Loginaufruf #1
challenge.js:
function bla1()
function bla2()
function bla3()
function bla4()
return value
Code:
Loginaufruf #2
challenge.js
function bla3()
function bla1()
function bla4()
function bla2()
return value
Und entweder steh ich grade komplett auf dem Schlau, oder ich müsste wirklich eine Art JS->NET Converter erstellen, damit meine nachgebaute Funktion auch jedesmal die richtige Reihenfolge zum Generieren hat und somit genauso dynamisch und nicht statisch ist.
Da mir das aber zu blöd ist, wollte ich wie gesagt einfach die JS Funktion aufrufen und den Wert der returned wird auslesen und in NET weiter benutzen. Problem ist hierbei aber, dass ich die Value nicht auslesen kann aus dem Quelltext.
Am Ende, nachdem createchallenge aufgerufen und der Wert generiert wurde, wird dieser Wert mittels Http POST an /auth/verifychallenge weitergeleitet. Das wiederum wäre ja kein Problem für mich, da ich problemlos einen POST an verifychallenge in .NET senden kann, bloß fehlt mir eben der generierte Wert aus createchallenge.
Hier nochmal die Funktion:
Wie gesagt, nachdem ads_token_js generiert wurde, wird dieser direkt noch im JS zusammen mit _csrf an /auth/verifychallenge gesendet.