For those who are unaware, it was possible to authenticate to SharePoint Online by sending an OASIS SAML token with credentials to login.microsoftonline.com/extSTS.srf and you'd get back a security token you'd pass through to /_forms/default.aspx?wa=wsignin1.0 (and then keep a hold of the returning FedAuth and RTFA cookie values) - but just today the extSTS.srf endpoint has been returning empty responses... I don't know if something's up with that endpoint or not, or if MSFT have overhauled the Auth procedure. I've also tried the login.srf and had the same results. Visit extSTS.srf in the browser and you get a XML structured error message, suggesting it should still be responding, but isn't...

Does anyone have any clues? Or any other methods on how to authenticate from non-.NET code?

I'm aware the .NET Managed Client Object Model now includes a SharePointOnlineCredentials class which you can pass into the ClientContext object, but this uses a native code under the hood to generate the security token at the client end, and I'm hazarding a guess that the logic to generate the security token is private IP that we can't get it.

1 Answer 1


Oh jeez...

OK there's nothing wrong with the server. During a refactor of my code (Objective C) I forgot initialise (alloc) a variable that I was using to store the token response, so it looked like my responses were blank. Funny how that iOS doesn't throw a wobbly over that. I only noticed it during debugging when the address for the variable was reading 0x00000000.

I didn't spot this at first, and I was using Charles Proxy for debugging, but I forgot to add the certificates (detailed here: http://www.charlesproxy.com/documentation/faqs/ssl-connections-from-within-iphone-applications/) therefore in Charles, the request was being closed because the iPhone simulator bailed on the connection.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.