2011-01-25, 10:13 PM
(This post was last modified: 2011-01-25, 10:19 PM by UncleJohnsBand.)
mvallevand Wrote:The real problem with NEWA Web Services on other platforms is the Windows Authentication scheme it uses (it's really Microsoft at fault here) and finding the right libraries for non-Windows platform and even with Java it is not trivial. I tried to finding something in python for XBMC but I wasn't lucky enough to find the one Ton found but it takes work.
Martin
Barsk Wrote:Ok, so maybe some quirks to work out. But webservice to me is either RESTful or SOAP-based traditional. Are there other variants around? Like M$ variants? I am not a .NET programmer myself so if there is a private M$ APi in use I am surely not familiar with it. That could be a drawback.
The authentication is not a MS Windows based scheme. It is using standard SOAP protocol that passes authentication information in the header which is all defined......the "tricky" part is finding the same encryption libraries that provide the same encryption....but even the encryption being used are all standards non-ms specific based. It does use a .Net library....but the encryption routine within the .Net library is standard based and should be available to other platforms. The library is: System.Security.Cryptography
The encrypted data is then put together to create the NEWA credential which ensures that SOAP request is authorized (i.e. id/password are correct) and that the request has not timed out (this is necessary to prevent someone from pulling a web service request and then using the credentials for their own purposes).
The Create Credentials code should be portable to any language that provides the encryption routines being used.
This routine simply pulls a passed in id/password, does the encryption and timestamping and creates the credential object that is passed in the header of the SOAP request.
Yes...the result is a MS based object and uses the MS based interface for working with web services.....but any other language that can make a web service call can create this same object (it ends up only being XML with the encrypted values in the specified fields) and make a web service call.
If there is some other standards based library that is also available in .Net I would consider enhancing the authentication routine to handle multiple authentication processes.
Intel Core i7 @ 4.00GHz Skylake 14nm
ASUSTeK COMPUTER INC. Z170-DELUXE
Windows 10 Pro x64
PVR Software: NPVR 5.1.1
SiliconDust HDHomeRun HDHR5-4US Connect Quatro 4 Channel Tuner
Roku Ultra
2 PCH A-100's
ASUSTeK COMPUTER INC. Z170-DELUXE
Windows 10 Pro x64
PVR Software: NPVR 5.1.1
SiliconDust HDHomeRun HDHR5-4US Connect Quatro 4 Channel Tuner
Roku Ultra
2 PCH A-100's