Page 1 of 2

Web server basic authentication

Posted: Wed Jul 09, 2014 10:22 am
by rimai
Hi Guys,

I've added HTTP basic authentication to the webserver.
We failed to implement this in the past, but I think it should be stable this time.
It is currently in the dev branch.
This is the github issue: https://github.com/reefangel/Libraries/issues/154
If you get to test it, please post back here or log it into the github issue tracking whether it worked for you or not.
One point to remind is that your phone app will not work if you enable authentication.

Re: Web server basic authentication

Posted: Wed Jul 09, 2014 11:14 am
by binder
what version of libraries will this be added? 1.11? or something or later?

Sent from my Moto X

Re: Web server basic authentication

Posted: Wed Jul 09, 2014 3:39 pm
by rimai
Yes, it will be available in the next one.

Re: Web server basic authentication

Posted: Wed Jul 09, 2014 6:23 pm
by binder
The webserver authentication only works on the controller, correct?
This is not the same as the security key that is used for the portal....ie. ReefAngel.Portal(username, password)
Is that correct?

Then, using this authentication, you would use this url to communicate with your controller:

Code: Select all

http://user:pass@DEVICE_IP:PORT/
Hopefully I'm following correctly. Provided I am, I was going to implement this into my android app for those that wanted to test it out and use it.

Re: Web server basic authentication

Posted: Wed Jul 09, 2014 7:17 pm
by rimai
Yes, it is just basic authentication in the internal RA webserver and sending the url like you mentioned should work, although IE had problems understanding it for some reason, but firefox worked fine with an url like that.

Re: Web server basic authentication

Posted: Wed Jul 09, 2014 7:22 pm
by binder
ok. good to know.
i'm going to add this in (doesn't look the best, but works for now).
ra_wifi_auth.png
ra_wifi_auth.png (63.93 KiB) Viewed 11436 times
and then allow people to test things out to see how well it works.

Re: Web server basic authentication

Posted: Wed Jul 09, 2014 8:36 pm
by binder
Ok. I've got a working build for the webserver authentication. I'm going to sleep on it and verify things are working properly before I release it tomorrow. I have tested it on my controller at my desk and it works just fine communicating with a v1.1.0 controller with or without the authentication set. I am interested to see / hear how it works when the authentication is actually enabled. I may have to update my errors appropriately because I am not doing anything special for the authentication errors.

Re: Web server basic authentication

Posted: Thu Jul 10, 2014 9:34 am
by binder
just posted a beta release of my app that should incorporate the authentication. check my thread for a link to download it.

Re: Web server basic authentication

Posted: Thu Jul 10, 2014 9:42 am
by Smotz
this is awesome! you guys freaking rock!

Re: Web server basic authentication

Posted: Thu Jul 10, 2014 9:43 am
by binder
Smotz wrote:this is awesome! you guys freaking rock!
thanks. i decided i would try to stay up on things if i could. :)

Re: Web server basic authentication

Posted: Sun Aug 31, 2014 10:36 am
by Smotz
Sorry but I am not getting it...how do I enable authentication on my RA webpage?

Re: Web server basic authentication

Posted: Sun Aug 31, 2014 3:48 pm
by binder
Smotz wrote:Sorry but I am not getting it...how do I enable authentication on my RA webpage?
You need to grab the latest copy of the libraries from the DEV branch. Then you must add this to your setup() of your INO.

Code: Select all

ReefAngel.Network.WifiAuthentication("username:password");
Then, that will require that username and password combination to access your controller through the web page.
So you could do:

Code: Select all

ReefAngel.Network.WifiAuthentication("myuser:pass4321");
Or whatever else you wanted to do. The only requirement is that string of your username:password must be 50 chars or less, including the colon (:).

Re: Web server basic authentication

Posted: Sun Aug 31, 2014 4:11 pm
by Smotz
binder wrote:
Smotz wrote:Sorry but I am not getting it...how do I enable authentication on my RA webpage?
You need to grab the latest copy of the libraries from the DEV branch. Then you must add this to your setup() of your INO.

Code: Select all

ReefAngel.Network.WifiAuthentication("username:password");
Then, that will require that username and password combination to access your controller through the web page.
So you could do:

Code: Select all

ReefAngel.Network.WifiAuthentication("myuser:pass4321");
Or whatever else you wanted to do. The only requirement is that string of your username:password must be 50 chars or less, including the colon (:).
This is perfect! Thank you as always.

Can I have multiple lines for multiple usernames?
Will this affect the portal in anyway?

Re: Web server basic authentication

Posted: Sun Aug 31, 2014 5:11 pm
by binder
Smotz wrote: This is perfect! Thank you as always.

Can I have multiple lines for multiple usernames?
No
Will this affect the portal in anyway?
I think it will because the portal will have to use the username and password to connect to your controller. However, I believe Roberto has this implemented and working now so the portal can connect but I am not 100% positive. He (or someone else) will have to confirm this (also, I have not checked, but I'm sure you could check on the portal for some authentication).

Re: Web server basic authentication

Posted: Sun Aug 31, 2014 7:52 pm
by Smotz
binder wrote:
Smotz wrote: This is perfect! Thank you as always.

Can I have multiple lines for multiple usernames?
No
Will this affect the portal in anyway?
I think it will because the portal will have to use the username and password to connect to your controller. However, I believe Roberto has this implemented and working now so the portal can connect but I am not 100% positive. He (or someone else) will have to confirm this (also, I have not checked, but I'm sure you could check on the portal for some authentication).
Gotcha - Everything is working except the portal.
Roberto, can you chime in? I cannot figure out where on the portal to set this.

Re: Web server basic authentication

Posted: Sun Aug 31, 2014 7:54 pm
by rimai
Not implemented yet.

Re: Web server basic authentication

Posted: Sun Aug 31, 2014 8:02 pm
by Smotz
rimai wrote:Not implemented yet.
Gotcha. Well, looks good so far!

Re: Web server basic authentication

Posted: Fri Dec 19, 2014 7:50 pm
by Sacohen
Was the Webserver Authentication enabled on the Portal after the update to the 1.1.1 libraries.

I uncommented it from my code and when I load the portal I get Unreachable Address and it pulls the info from the database.

When I comment it out again the portal works fine.

Code: Select all

ReefAngel.Network.WifiAuthentication("Sacohen:xxxxxxxx");
With the xxx's representing my actual password.

It is in my setup section.

Does the password need to be the same as what the portal uses or the Portal key?
For example the portal or forum password maybe ABCDefgh but my Portal key is AbCdEfGh

Re: Web server basic authentication

Posted: Fri Dec 19, 2014 8:45 pm
by Sacohen
I tried changing my forum password to match my Portal Key and the Server Authentication in my code and still got Unreachable Address.

Re: Web server basic authentication

Posted: Sat Dec 20, 2014 9:47 am
by rimai
Not implemented yet :(
I'll try to get to this next week.

Re: Web server basic authentication

Posted: Sat Dec 20, 2014 10:06 am
by Smotz
following

Re: Web server basic authentication

Posted: Sat Dec 20, 2014 1:20 pm
by Sacohen
Thanks Roberto

Re: Web server basic authentication

Posted: Sat Dec 20, 2014 5:26 pm
by pandimus
This wouldn't happen to be the reason I've been getting authentication errors is it?

Re: Web server basic authentication

Posted: Sat Dec 20, 2014 5:54 pm
by Sacohen
Authentication errors where???

Have you added the web authentication to your code?

Re: Web server basic authentication

Posted: Sat Dec 20, 2014 6:24 pm
by pandimus
I get it constantly on the Android app, I haven't added any code.

Re: Web server basic authentication

Posted: Sat Dec 20, 2014 6:56 pm
by Sacohen
Then no.
The Android app has the authentication in it already.

Try changing your timeout time and # of retries.

Re: Web server basic authentication

Posted: Sat Dec 27, 2014 4:02 pm
by rimai
I added controller authentication username and password fields to your user profile page.
Please go there and enter the same username and password you coded in your controller.
The portal should recognize it and apply the authentication automatically.
Please let me know how it goes.

Re: Web server basic authentication

Posted: Sun Dec 28, 2014 11:54 am
by Sacohen
Where are the authentication username and password fields?
I don't see them.
I looked under the portal settings and nothing new is there.

Image

Re: Web server basic authentication

Posted: Sun Dec 28, 2014 1:48 pm
by rimai
On your forum user profile page.
It's a more secure place to have them stored.

Re: Web server basic authentication

Posted: Sun Dec 28, 2014 3:30 pm
by Sacohen
Works great. Thanks.
I don't really use the U-App, but it would need to be added to that when you have a chance.
The Andiod App works great.

I'll try to get Russ at Reftronic to implement something on this page.