[MonoTouch] Windows Auth and MonoTouch

Geoff Norton gnorton at novell.com
Sat Oct 3 16:54:42 EDT 2009


Paul,

   Yes please file a bug with a test case and we can take a look.

Thanks

-g

On 3-Oct-09, at 4:05 PM, Paul Bowden wrote:

> I've made a little more progress in scoping the issue. I've got NTLM  
> auth working from the device now (even though the back-end IIS  
> server is part of AD). The problem seems to be related to kernel- 
> mode auth. If you disable it in IIS (advanced properties of the  
> Windows Integrated Authentication), then I see the Invalid length  
> error below. If I enable kernel-mode auth, then the HttpWebRequest  
> completes just fine. There are a bunch of desktop apps that have  
> problems with kernel-mode auth (including Outlook/Exchange, which is  
> what I'm using), so we're seeing more and more folks disable this by  
> default in IIS.
>
> Shall I go ahead and bug this?
>
> Cheers, Paul.
>
> -----Original Message-----
> From: Gonzalo Paniagua Javier [mailto:gonzalo.mono at gmail.com]
> Sent: Friday, October 02, 2009 6:09 AM
> To: Paul Bowden
> Cc: monotouch at lists.ximian.com
> Subject: RE: [MonoTouch] Windows Auth and MonoTouch
>
> On Fri, 2009-10-02 at 04:04 +0000, Paul Bowden wrote:
>> Hmm, that's what I was using before. The app works if Basic auth is  
>> enabled on the vdir, but if I disable Basic, which just leaves  
>> Windows Auth enabled, I get this:
>>
>> Unhandled Exception: System.Net.WebException: Invalid length. --->  
>> System.FormatException: Invalid length.
>>  at (wrapper managed-to-native)  
>> System.Convert:InternalFromBase64String (string,bool)
>>  at System.Convert.FromBase64String (System.String s) [0x00000]
>>  at Mono.Http.NtlmSession.Authenticate (System.String challenge,  
>> System.Net.WebRequest webRequest, ICredentials credentials) [0x00000]
>>  at Mono.Http.NtlmClient.Authenticate (System.String challenge,  
>> System.Net.WebRequest webRequest, ICredentials credentials) [0x00000]
>>  at System.Net.NtlmClient.Authenticate (System.String challenge,  
>> System.Net.WebRequest webRequest, ICredentials credentials) [0x00000]
>>  at System.Net.AuthenticationManager.DoAuthenticate (System.String  
>> challenge, System.Net.WebRequest request, ICredentials credentials)  
>> [0x00000]
>>  at System.Net.AuthenticationManager.Authenticate (System.String  
>> challenge, System.Net.WebRequest request, ICredentials credentials)  
>> [0x00000]
>>  at System.Net.HttpWebRequest.CheckAuthorization  
>> (System.Net.WebResponse response, HttpStatusCode code) [0x00000]
>>  at System.Net.HttpWebRequest.CheckFinalStatus  
>> (System.Net.WebAsyncResult result) [0x00000]
>>  at System.Net.HttpWebRequest.SetResponseData  
>> (System.Net.WebConnectionData data) [0x00000]
>>
>> Here's the relevant part of the source:
>>
>>            HttpWebRequest request =  
>> (HttpWebRequest)WebRequest.Create(url);
>>            request.Method = "POST";
>>            request.ContentType = "text/xml; charset=utf-8";
>>            request.Credentials = new NetworkCredential(userName,  
>> password, domain);
>
> Mmm, weird. There's only one more question before asking you to  
> enter a
> bug report for this: is the server using AD (and domain is set)? If  
> so,
> I think the machine from which you're running the program has to  
> belong
> to the domain...
>
> -Gonzalo
>
>
>
> _______________________________________________
> MonoTouch mailing list
> MonoTouch at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/monotouch



More information about the MonoTouch mailing list