nodesign / weio

weio
http://we-io.net
128 stars 35 forks source link

Post setup Login fails on Safari. #147

Closed benoit-pereira-da-silva closed 9 years ago

benoit-pereira-da-silva commented 9 years ago

And works with Chrome & Firefox. Mac os X Safari 8.0.3 (10600.3.18) on Yosemite10.10.2 (14C109). The we-io board is accessible from nine.local:8080 and the IDE works if configuring login_required to NO.

Config : { "absolut_root_path": "/weio", "debug_mode": "False", "dependencies_path": "www", "dns_name": "ninio.local", "editor_html_path": "www/dashboard.html", "extern_projects_path_flash": "/weioUser/flash", "extern_projects_path_sd": "/weioUser/sd", "extern_projects_path_usbFlash": "/weioUser/usbFlash", "first_time_run": "NO", "https": "NO", "ip": "0.0.0.0", "kill_flag": "YES", "last_opened_files": [ "index.html", "weioMain.py" ], "last_opened_project": "www/examples/processes/helloWorld", "login_required": "YES", "password": "123456", "play_composition_on_server_boot": "NO", "port": 8080, "remote": "", "timezone": "UTC+1", "user": "Nino Pereira da Silva", "userAppPort": 80, "userApp_debug_mode": "True", "weio_board": "WeIO", "weio_lib_path": "weioLib", "weio_update_alternate_repository": "http://we-io.net/downloads/updates.json", "weio_update_official_repository": "https://api.github.com/repos/nodesign/weio/releases", "weio_update_use_official_repository": "YES", "weio_version": "1.0" }

drasko commented 9 years ago

Thanks for bug report.

@manuIO, @ukicar, @ks156 one of you must look at this - I have no Apple devices.

Apparently it is systematic and reproducible!

ks156 commented 9 years ago

I can't reproduce this bug with Safari Version 8.0.3 (10600.3.18) and OSX 10.10.2 (14C109) and the config specified above.

When it fails, what's the complete URL ? http://ninio.local:8080/login?error=Login+incorrect ?

benoit-pereira-da-silva commented 9 years ago

I do use : http://ninio.local:8080/login And after clicking on LOG IN => the URL do not change i m still on http://ninio.local:8080/login On Safari "Access WeIO IDE" > LOGIN does nothing. (On Chrome : i can access to the IDE.) I ve done absolutely nothing special.

benoit-pereira-da-silva commented 9 years ago

I ve installed a proxy and analysed 10.0.0.1/login. I think i've identified the problem. We are Sunday March the 8th and the cookie is set to expire Yesterday. It is visible in the cookie section of the response Header on this screenshot.

weio-proxy-analysis-2015-03-08-11 53 33

nmarcetic commented 9 years ago

@benoit-pereira-da-silva

I think on Tornado server default cookie expiration period is 30 days. The possible scenario, when you receive your board the system time was not correct, and now Tornado generate cookies and set expiration period in pass (e.g 07. Mar). This is only logical explanation, still i am very confused about chrome and firefox... It works on those browsers.... In order to confirm our conclusion , can you please login over ssh and try to temporary set correct time-date like this: export TZ="CET-1CEST,M3.5.0,M10.5.0/3" -- This is a Paris/France time zone Then type just "date" in terminal, your time/date should be correct and then try to login with safari. Note, this is just a tmp solution , when you reboot your board your time will be messed again. In order to set timezone permanently, you need to edit /etc/config/system and set your timezone (CET-1CEST,M3.5.0,M10.5.0/3) on this line https://github.com/nodesign/weio/blob/next/openWrt/files/etc/config/system#L4 and reboot your board.

benoit-pereira-da-silva commented 9 years ago

It was not a question of Time Zone, the WEIO date was not correct. The real question is WHY ? I'd done nothing special.

root@WEIO:~# date
Thu Feb  5 01:45:15 CET 2015
root@WEIO:~# date -s "2015-03-08 18:36:00"
Sun Mar  8 18:36:00 CET 2015
nmarcetic commented 9 years ago

The timezone is inccorect :) Just try flow as i propose to set correct timezone and your date/time will be fixed.

benoit-pereira-da-silva commented 9 years ago

The question is not "how to fix my problem". I've been fixing it by using, chrome and with various strategies, like disabling auth in the configuration,... The real question is : why a new board during its first install process via SAFARI can have Date issues?

nmarcetic commented 9 years ago

If your date is now correct can you please try to enable login and try if will work with safari in order to confirm our date,time theory. I am o my phone now, cant type, i will explain timezone-date relation ASAP.

benoit-pereira-da-silva commented 9 years ago

Sorry for the confusion, i should have mentioned that root@WEIO:~# date -s "2015-03-08 18:36:00" did the stuff. & I m able to login from Safari right now.

nmarcetic commented 9 years ago

Ok great, and tnx :)

ks156 commented 9 years ago

I'm not sure, even with the current next version and the correct TZ that ntpd works correctly. Someone can test and confirm it works ? Btw @nmarcetic, at first boot, in AP mode, ntpd can't work. So the date is probably not correct, and then you cannot access the IDE to setup a STA wifi network, and then login can't work.. Or maybe I've missed something....

ks156 commented 9 years ago

Probably linked to this one : #98

nmarcetic commented 9 years ago

It should work, i test and it's works for me. You are right , someone else should also test, this is very important! @ks156 on first run you can now set "Login not required" , and yes your are probably right about AP mode, i can't confirm 100% ...

nmarcetic commented 9 years ago

@ks156 i will test this about AP mode today. Its very annoying for me...

ks156 commented 9 years ago

@ukicar : Ok to close this one ?

ukicar commented 9 years ago

OK for me, tested