Digest Authentication for HTTP system workaround

54 views
Skip to first unread message

Hisham Khalifa

unread,
Feb 12, 2016, 7:03:17 AM2/12/16
to comman...@googlegroups.com
So I'm hooking up the GUI to an Indigo 6 system, the latter of which utilises digest auth.

Here's what I found out:

1- in guiDesigner, you can't define an HTTP system with digest auth (interesting, there does appear to be digest auth option for the video widget). I've tried the usual user:pass@ip approach but it doesn't work and all commands fail (which would work for basic auth only). Have I missed anything? Perhaps some option?

2- Digest auth DOES work implicitly in CF.request. So calls such as CF.request("http://user:pass@ip:port/devices/Wall%20Spotlights.json", lightStatusCallback) DO work.

3- CF.Request calls to digest auth systems seem to cache the authentication for use by future calls. So commands defined in guiDesigner will work if there was at least one authenticated call to the system using CF.request.

In guiDesigner just define the system as usual - no pass or user prefix, just the IP and port. Then define your commands under the system as well.

So now I have an initial stub call to my Indigo digest auth url in javascript. Then I'm scott free to utilise the system directly from commands defined in guiDesigner.

I'm not sure if this is intentional on the part of CommandFusion, but thought I'd share. Obviously it would be better to be able to indicate user/pass and digest auth for HTTP systems in guiDesigner itself.

Anyway, I've been testing and using the system for a few days now and it is pretty cool - great job guys!

-Hisham
Saikel Projects SPC

Jarrod Bell

unread,
Feb 14, 2016, 4:31:36 PM2/14/16
to comman...@googlegroups.com
It's possible that the system you are controlling is caching the auth also. As you discovered, the recommended approach to more complex HTTP requests is using the JS API.

Regards,

Jarrod Bell
CommandFusion
www.commandfusion.com


On 12/02/2016 11:03 PM, Hisham Khalifa wrote:
So I'm hooking up the GUI to an Indigo 6 system, the latter of which utilises digest auth.

Here's what I found out:

1- in guiDesigner, you can't define an HTTP system with digest auth (interesting, there does appear to be digest auth option for the video widget). I've tried the usual user:pass@ip approach but it doesn't work and all commands fail (which would work for basic auth only). Have I missed anything? Perhaps some option?

2- Digest auth DOES work implicitly in CF.request. So calls such as CF.request("http://user:pass@ip:port/devices/Wall%20Spotlights.json", lightStatusCallback) DO work.

3- CF.Request calls to digest auth systems seem to cache the authentication for use by future calls. So commands defined in guiDesigner will work if there was at least one authenticated call to the system using CF.request.

In guiDesigner just define the system as usual - no pass or user prefix, just the IP and port, you'll only include the user and pass in your CF.request calls.

So now I have an initial stub call to my Indigo digest auth url in javascript. Then I'm scott free to utilise the system directly from commands defined in guiDesigner.

I'm not sure if this is intentional on the part of CommandFusion, but thought I'd share. Obviously it would be better to be able to indicate user/pass and digest auth for HTTP systems in guiDesigner itself.

Anyway, I've been testing and using the system for a few days now and it is pretty cool - great job guys!

-Hisham
Saikel Projects SPC
--
You received this message because you are subscribed to the Google Groups "CommandFusion Software" group.
To unsubscribe from this group and stop receiving emails from it, send an email to commandfusio...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages