in FMLab/Odata4ConsoleApplication/AuthenticationHelper.cs [30:76]
internal static string PerformAuthentication(Resources context, string aosUrl)
{
AcsResponse param = new AcsResponse();
BrowserForm browserForm = new BrowserForm(aosUrl, param);
WindowsForms.Application.Run(browserForm);
HttpWebRequest httpRequest;
HttpWebResponse httpResponse;
CookieContainer cookieContainer = new CookieContainer();
httpRequest = (HttpWebRequest)WebRequest.Create(aosUrl);
httpRequest.Method = "POST";
httpRequest.ContentType = "application/x-www-form-urlencoded";
httpRequest.AllowAutoRedirect = true;
httpRequest.CookieContainer = cookieContainer;
StreamWriter writer = new StreamWriter(httpRequest.GetRequestStream(), Encoding.ASCII);
writer.Write(param.GetAcsResponseString());
writer.Flush();
writer.Close();
httpResponse = (HttpWebResponse)httpRequest.GetResponse();
httpResponse.Close();
StringBuilder retval = new StringBuilder();
CookieCollection cookiesCollection = cookieContainer.GetCookies(new Uri(aosUrl));
if (cookiesCollection.Count > 0)
{
foreach (Cookie c in cookiesCollection)
{
retval.AppendFormat("{0}={1}; ", c.Name, c.Value);
}
//Remove the trailing "; "
retval.Remove(retval.Length - 2, 2);
}
cookies = retval.ToString();
context.SendingRequest2 += new EventHandler<SendingRequest2EventArgs>(OnSendingRequest);
return cookies;
}