} // end parse method //=======================================================================================// //-- Request with tenantID --// //---------------------------------------------------------------------------------------// //-- --// //-- Purpose : Send a Post request to the Keystone Service and recieved back a --// //-- json string containing an access token --// //-- --// //-- Written By : Dr. Ed Boland Operating System : Windows 7 --// //-- Date : 9/25/2012 Language : VS 2012 C# --// //=======================================================================================// public static Token Request_WithTenantID(string _url, string username, string password, string tenant) { string request_url = _url + "/v2.0/tokens"; Token _retrieved_token = new Token(); try { string ret = string.Empty; String catalogData = "{\"auth\":{\"passwordCredentials\":{\"username\": \"" + username + "\", \"password\": \"" + password + "\"},\"tenantName\":\"" + tenant + "\"}}"; StreamWriter requestWriter; var webRequest = System.Net.WebRequest.Create(request_url) as HttpWebRequest; if (webRequest != null) { webRequest.Method = "POST"; webRequest.ServicePoint.Expect100Continue = false; webRequest.Timeout = 2000; webRequest.ContentType = "application/json"; //POST the data. using (requestWriter = new StreamWriter(webRequest.GetRequestStream())) { requestWriter.Write(catalogData); } } HttpWebResponse resp = (HttpWebResponse)webRequest.GetResponse(); Stream resStream = resp.GetResponseStream(); StreamReader reader = new StreamReader(resStream); ret = reader.ReadToEnd(); _retrieved_token = Token.Parse(ret); return(_retrieved_token); } catch (Exception e) { _retrieved_token.token_error = "Request_WithTenantID failed"; return(_retrieved_token); } }
//------------------------ Class Methods ----------------------------------------------// public static Token Request_NoTenant(string url, string user_name, string password) { string ret = string.Empty; Token _retrieved_token = new Token(); String postData = "{\"auth\":{\"passwordCredentials\":{\"username\": \"" + user_name + "\", \"password\": \"" + password + "\"}}}"; StreamWriter requestWriter; try { HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url); webRequest.Method = "POST"; webRequest.ServicePoint.Expect100Continue = false; webRequest.Timeout = 1000; webRequest.ContentType = "application/json"; requestWriter = new StreamWriter(webRequest.GetRequestStream()); requestWriter.Write(postData); requestWriter.Close(); HttpWebResponse resp = (HttpWebResponse)webRequest.GetResponse(); Stream resStream = resp.GetResponseStream(); StreamReader reader = new StreamReader(resStream); ret = reader.ReadToEnd(); _retrieved_token = Token.Parse(ret); return(_retrieved_token); } catch (Exception e) { _retrieved_token.token_error = e.ToString(); return(_retrieved_token);; } }