[OpenSlides users-de] Problem mit JS-Data

Stefan Frauenknecht stefan at frauenknecht.net
Sa Feb 27 23:20:24 CET 2016


Hallo Oskar und Norman,

vielen Dank noch einmal für eure Antworten! Mittlerweile habe ich das Problem gelöst. Es lag an der Cookie-basierten Authentifizierung. Ich habe das einfach nicht stabil zu Laufen bekommen. Cookies sind im mobilen Umfeld wohl tatsächlich eine ganz schlechte Idee ;-) Stattdessen benutze ich jetzt JSON Web Token und alle Probleme sind verschwunden, (Oskar, ich glaube wir haben mal vor einiger Zeit davon gesprochen). JWT gibt es als Addon für das REST-Framework Siehe:http://getblimp.github.io/django-rest-framework-jwt/ Bei OpenSlides musste ich nur Konfiguration erweitern. Ein Parallelbetrieb mit ‚SessionAuthentication‘ funktioniert ohne Probleme.


Schönes Wochenende
Stefan



> Am 26.02.2016 um 14:18 schrieb Stefan Frauenknecht <stefan at frauenknecht.net>:
> 
> Hallo Oskar,
> 
> danke für deine Antwort!
> 
> Stimmet, es passen nur
> 
> [I 160223 20:31:54 wsgi:358] 200 GET /rest/users/user/1/ (127.0.0.1) 33.05ms
> 5     914903   error    FAILED: Tue, 23 Feb 2016 19:31:54 GMT - GET /rest/users/user/1/ - 404 166ms, [object Object]
> 
> zusammen.
> 
> 
> Ich werde das Morgen noch mal debuggen.
> 
> 
> Viele Grüße
> Stefan
> 
> 
>> Am 26.02.2016 um 14:10 schrieb Oskar Hahn <mail at oshahn.de>:
>> 
>> Hallo Stefan,
>> 
>> da scheint es noch irgendwo einen proxy oder sowas zu geben. Ich halte
>> es für ausgeschlossen, dass der OpenSlides Server einen 200er abschickt
>> und dann beim client ein 404er.
>> 
>> Ich glaube nicht, dass es irgendwas mit js-data zu tun hat. Ich kann mir
>> nicht vorstellen an welcher Stelle js-data zwar ein 200er Paket bekommt,
>> dann jedoch 404 auf der Konsole ausgibt.
>> 
>> Wo läuft denn dein Server und wo der Client? Laufen die wirklich beide
>> auf der selben Maschine? Also entweder der Server auf dem Smartphone
>> oder der Client auf dem Desktop? Die Requests in der OpenSlides Konsole
>> kommen jedenfalls von localhost.
>> 
>> Weiterhin passen die von dir genannten Requests nicht zusammen. In der
>> OpenSlides Konsole hast du ein POST-Request auf /users/login/ genannt
>> und ein GET Request auf /rest/users/user/1/. Im Simulator Client scheint
>> das erste Request zum zweiten vom Server zu passen, das zweite Request
>> ist jedoch ein anderes.
>> 
>> Könntest du testweise den OpenSlides Server neu starten, dich daraufhin
>> nur mit deinem Andoird Client verbinden und mir alle Requests des
>> Servers und alle im Simulator schicken?
>> 
>> Viele Grüße
>> Oskar
>> 
>> 
>> Am 23.02.2016 um 20:58 schrieb Stefan Frauenknecht:
>>> Hallo Oskar,
>>> 
>>> ich verbinde mich wirklich mit dem richtigen Server ;-)
>>> Hier das Szenario beim Login:
>>> 
>>> OpenSlides Konsole:
>>> [I 160223 20:31:54 wsgi:358] 200 POST /users/login/ (127.0.0.1) 830.61ms
>>> [I 160223 20:31:54 wsgi:358] 200 GET /rest/users/user/1/ (127.0.0.1) 33.05ms
>>> 
>>> Simulator Client (ionic serve auf http)
>>> 5     914903   error    FAILED: Tue, 23 Feb 2016 19:31:54 GMT - GET /rest/users/user/1/ - 404 166ms, [object Object]
>>> 6     914972   error    FAILED: Tue, 23 Feb 2016 19:31:54 GMT - GET /rest/core/projector/1/ - 404 215ms, [object Object]
>>> 
>>> Hier sieht man, dass aus Sicht von OS das Abholen von User (id:1, admin) mit OK = 200 geloggt wird, beim Client aber ein not found 404 ankommt. Daher meine Verwirrung. Ich bin mir sicher, dass ich irgendwo einen Fehler mache. Aber wo?  Ach so! Das Cross-Origin Resource Sharing (CORS) habe ich natürlich erlaubt, d.h. die cors-Middleware in OS eingebaut.
>>> 
>>> Da du dich ja mit JS-Data und Co. beschäftigt hast, hoffe ich das du eine Idee hast wo mein Problem liegt. Vielleicht ist dir bei der Entwicklung ähnliches passiert.
>>> 
>>> 
>>> Viele Grüße
>>> Stefan
>>> 
>>> 
>>> 
>>>> Am 23.02.2016 um 16:39 schrieb Oskar Hahn <mail at oshahn.de>:
>>>> 
>>>> Hallo Stefan,
>>>> 
>>>> irgendwie verstehe ich deine Fehlermeldung nicht so richtig. Ich kann
>>>> mir nicht erklären, wieso ein direkter Aufruf funktionieren soll und ein
>>>> Aufruf über User.find() nicht. Insbesondere macht es keinen Sinn, dass
>>>> in der Konsole von OpenSlides keine Fehlermeldung ankommt. Wenn du
>>>> tatsächlich mit OpenSlides kommunizierst, müsste eigentlich dort auch
>>>> ein 404er angezeigt werden.
>>>> 
>>>> Könntest du daher nochmal kontrollieren, dass du dich wirklich mit dem
>>>> richtigen Server verbindest? Baue im zweifel einfach in den Python-Code
>>>> irgendwelche print-Befehle ein, damit du dir sicher sein kannst, dass
>>>> das richtige aufgerufen wird.
>>>> 
>>>> Viele Grüße
>>>> Oskar
>>>> 
>>>> Am 22.02.2016 um 16:57 schrieb Stefan Frauenknecht:
>>>>> Hallo Norman,
>>>>> 
>>>>> wenn ich die urls direkt aufrufe, funktioniert es. In der Konsole von OpenSlides finde ich keine Fehlermeldungen.
>>>>> 
>>>>> Ein konkretes Problem kommt nach dem Login. Nach den Login bekomme ich eine user id (id=1, admin)
>>>>> Beim Aufruf operstor.setUser(1) gehen dann zwei Sachen schief:
>>>>> -> User.find(user_id)… liefert in FAILED: Mon, 22 Feb 2016 14:07:43 GMT - GET /rest/users/user/1/ - 404 88ms, [object Object]
>>>>> -> Group.findAll() .. liefert FAILED: Mon, 22 Feb 2016 14:08:03 GMT - GET /rest/users/group/ - 404 47ms, [object Object]
>>>>> 
>>>>> User.find() geht beim „zweiten“ mal gut. D.h. nach dem zweiten login. Ich habe auch sichergestellt, dass die Ressourcen mittels run() geladen sind.
>>>>> D.h. Die find-Methoden erzeugen den richtigen Aufruf in der Rest-API. Irgendwo ist aber noch der Wurm drin.
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>>> Am 22.02.2016 um 16:15 schrieb Norman Jäckel <mail at normanjaeckel.de>:
>>>>>> 
>>>>>> Hast du schon mal geschaut, was passiert, wenn du die URL (z. B.
>>>>>> /rest/motions/workflow/) direkt aufrufst? Kommt dann auch ein 404?
>>>>>> Werden die 404er in der JS-Konsole auch in der OpenSlides-Server-Konsole
>>>>>> angezeigt?
>>>>>> 
>>>>>> Nn.
>>>>>> 
>>>>>> Am 22.02.2016 um 15:39 schrieb Stefan Frauenknecht:
>>>>>>> Hallo Leute!
>>>>>>> 
>>>>>>> Ich kämpfe im Moment mit JS-Data Ich erhalte andauernd ‚Not found‘ Fehler wie diese:
>>>>>>> 
>>>>>>> 1     041511   error    FAILED: Mon, 22 Feb 2016 14:07:21 GMT - GET /rest/motions/workflow/ - 404 374ms, [object Object]
>>>>>>> 2     041532   error    FAILED: Mon, 22 Feb 2016 14:07:21 GMT - GET /rest/core/projector/1/ - 404 55ms, [object Object]
>>>>>>> 4     063754   error    FAILED: Mon, 22 Feb 2016 14:07:43 GMT - GET /rest/users/user/1/ - 404 88ms, [object Object]
>>>>>>> 7     083499   error    FAILED: Mon, 22 Feb 2016 14:08:03 GMT - GET /rest/users/group/ - 404 47ms, [object Object]
>>>>>>> 10    112614   error    FAILED: Mon, 22 Feb 2016 14:08:32 GMT - GET /rest/users/group/ - 404 87ms, [object Object]
>>>>>>> 13    433446   error    FAILED: Mon, 22 Feb 2016 14:13:53 GMT - GET /rest/users/user/1/ - 404 16ms, [object Object]
>>>>>>> 
>>>>>>> 
>>>>>>> Eigentlich sollte das ja nicht so schwer sein. Der Code in OpenSlides ist ja auch ganz anschaulich und zu verstehen, daher habe ich ihn auch im Prinzip übernommen. Irgendwas mache ich aber noch falsch.
>>>>>>> 
>>>>>>> Meine Beschreibung ist nicht gerade detailliert :-) Aber vielleicht hat jemand eine Idee oder hatte bei der Entwicklung das gleiche Problem.
>>>>>>> 
>>>>>>> 
>>>>>>> Viele Grüße
>>>>>>> Stefan
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> ___________________________
>>>>>>> Stefan Frauenknecht
>>>>>>> Hohler Weg 6, DE 20459 Hamburg
>>>>>>> 
>>>>>>> Mobil: +49 (0)151 / 212 528 67
>>>>>>> Telefon: +49 (0)40 / 37 501 210
>>>>>>> 
>>>>>>> Web: http://frauenknecht.net
>>>>>>> Jabber IM: frauenknecht at jabber.ccc.de
>>>>>>> 
>>>>>>> PGP-Keyid:  0x9671B201
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> _______________________________________________
>>>>>>> OpenSlides users-de mailing list
>>>>>>> users-de at openslides.org
>>>>>>> https://mail.openslides.org/listinfo/users-de
>>>>>>> 
>>>>>> 
>>>>>> _______________________________________________
>>>>>> OpenSlides users-de mailing list
>>>>>> users-de at openslides.org
>>>>>> https://mail.openslides.org/listinfo/users-de
>>>>> 
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> OpenSlides users-de mailing list
>>>>> users-de at openslides.org
>>>>> https://mail.openslides.org/listinfo/users-de
>>>>> 
>>>> 
>>>> _______________________________________________
>>>> OpenSlides users-de mailing list
>>>> users-de at openslides.org
>>>> https://mail.openslides.org/listinfo/users-de
>>> 
>> 
> 
> _______________________________________________
> OpenSlides users-de mailing list
> users-de at openslides.org
> https://mail.openslides.org/listinfo/users-de

-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 203 bytes
Beschreibung: Message signed with OpenPGP using GPGMail
URL         : <http://mail.openslides.org/pipermail/users-de/attachments/20160227/58f47607/attachment.sig>


More information about the users-de mailing list