<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Guten Tag,<br class=""><br class="">Ich entwickle zur Zeit an einer (AngularJS) Web-App  zur Integration des digitalSTROM-Systems, in eine "one  for All“ Remote-App. Als Entwicklungsplattform setzte ich einen Standard-IDE (Webstrom) ein und darin scheint mein Problem zu liegen. Im IDE ist auch ein HTTP-Server integriert (leider ohne pass through Proxy etc.), dass bedeutet, dass man die App-Files vom IDE/Server liest, jedoch die XMLHttpRequest direkt zum DSS-Server sendet. Das funktioniert auch einwandfrei, wenn man dies via CORS <Cross-Origin Resource Sharing> macht, mit einer kleinen Ausnahme, dass das Cookie mit dem Applikation-Token nicht übertragen werden, denn die werden gemäss W3C-HTTP-Spezfikation standardmässig nicht übertragen werden darf (siehe Anhang). <br class=""><br class="">Nach etlichen durchgearbeiteten Nächten und jeder menge Kaffee, habe ich folgendes festgestellt. Mein Framework und ich, sollten alles richtig machen 😜:<br class=""><br class=""><span style="white-space:pre" class="Apple-tab-span">  </span>• <span style="white-space:pre" class="Apple-tab-span">   </span>Der erste Aufruf mit der App zum lesen des Token’s funktioniert einwandfrei (<a href="https://dss.local:8080/json/system/requestApplicationToken?applicationName=cFlat" class="">https://dss.local:8080/json/system/requestApplicationToken?applicationName=cFlat</a>)<br class=""><span style="white-space:pre" class="Apple-tab-span">       </span>• <span style="white-space:pre" class="Apple-tab-span">   </span>Wenn ich den Request manuell via Browser aufrufe erhalte ich die Informationen DSS-Server (<a href="https://dss.local:8080/json/apartment/getStructure" class="">https://dss.local:8080/json/apartment/getStructure</a>)<div class=""><br class=""></div><div class="">Theorie gut, Praxis schlecht, sobald ich diese Calls in der App ausführe fehlt das Token-Cookie...<br class=""><br class="">Nach dem Studium der CORS-Spezifikationen, habe ich herausgefunden, dass man das Problem lösen kann, wenn man auf dem HTTP-Server des DSS den Parameter Access-Control-Allow-Credentials setzen muss, also rein ins vergnügen mit dem Studium der Doku des lighttpd-Servers.<div class="">  <br class="">Die Lösung wäre (Betonung auf wäre), anpassen des lighttpd.conf Files um die Cookies und CORS generell zu aktivieren und danach digitalSTORM zu informieren, mit der bitte den Patch, offiziell in den Server zu integrieren:<br class=""><br class=""> Patch lighttpd.conf (Sorry digitalSTROM):<div class=""><br class=""><div class=""><span style="white-space:pre" class="Apple-tab-span">    </span>• server.modul -> mod_setenv starten<br class=""></div><div class=""><span style="white-space:pre" class="Apple-tab-span">    </span>• setenv.add-response-header = (                        -> CORS Response-Header setzen<br class=""></div>        <span style="white-space:pre" class="Apple-tab-span">   </span>"Access-Control-Allow-Origin" => „*", <br class="">        <span style="white-space:pre" class="Apple-tab-span">       </span>"Access-Control-Allow-Headers" => "accept, origin, x-requested-with, content-type, x-transmission-session-id“,<br class="">        <span style="white-space:pre" class="Apple-tab-span">    </span>"Access-Control-Expose-Headers" => "X-Transmission-Session-Id“,<br class="">        <span style="white-space:pre" class="Apple-tab-span">      </span>"Access-Control-Allow-Methods" => "GET, POST, OPTIONS“,<br class=""><span style="white-space:pre" class="Apple-tab-span">          </span>)<div class=""><br class=""></div><div class="">Diese Lösung habe ich leider nicht zum laufen gebracht, da ich kein Linux-Spezialist bin sondern (nur) ein Software Engineer (vielleicht liegt dort das Problem) !! 😁 !!.</div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">Nach einer langer Ausführung nun zu meinen Fragen:</div><div class=""><br class=""></div><div class=""><ul class="MailOutline"><li class="">Hat jemand eine Idee wie ich den Patch zum laufen bringen kann.</li><li class="">Gibt es eine Umgehungs-Lösung zu meinem Problem.</li><li class="">Damit ich weiter Testen und Entwickeln kann, ist es möglich die Session-Token Kontrolle temporär auf dem DSS-Server zu deaktivieren.</li></ul><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div style="text-align: center;" class=""><b class="">!! Ich wäre froh, wenn mir jemand weiter Helfen könnte, da dieses Problem zurzeit mein grosser "Show-Stopper“ ist. !!</b></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div>Im Anhang sind noch ein paar nützliche Links zu diesem Thema: </div><div class=""><ul class=""><li class=""><a href="http://www.html5rocks.com/en/tutorials/cors/#toc-introduction" class="">http://www.html5rocks.com/en/tutorials/cors/#toc-introduction</a></li><li class=""><a href="http://enable-cors.org/index.html" class="">http://enable-cors.org/index.html</a></li><li class=""><a href="http://www.w3.org/TR/cors/" class="">http://www.w3.org/TR/cors/</a></li><li class=""><a href="http://www.gubatron.com/blog/2011/11/29/lighttpd-allow-access-control-allow-origin-headers-on-the-server-status-page/" class="">http://www.gubatron.com/blog/2011/11/29/lighttpd-allow-access-control-allow-origin-headers-on-the-server-status-page/</a></li></ul><div class=""><br class=""></div><div class=""><br class=""></div><div class="">VIELEN DANK für die HILFE</div><div class=""><br class=""></div><div class=""><br class=""></div></div></div></div><div apple-content-edited="true" class="">Gruss<br class=""><br class="">Chris<br class=""><br class=""><br class="">-----------------------------------------<br class=""><br class="">Chris Gross<br class="">Klotenerstrasse 31<br class="">CH - 8305 Dietlikon<br class=""><br class="">E-Mail:<span class="Apple-tab-span" style="white-space: pre;">           </span><a href="mailto:Chris.Gross@gmx.ch" class="">Chris.Gross@gmx.ch</a><br class="">Mobile:<span class="Apple-tab-span" style="white-space: pre;">           </span>+41 79 694 50 10

</div>
<br class=""></div></body></html>