Method | Request URI |
---|---|
POST | /API/LogOn/ |
This example makes a rest call and gets a session ID.
using System.Net; using System.Net.Http; using System.Runtime.Serialization; using System.Runtime.Serialization.Json; using System.Web.Script.Serialization; ... void Main() { using(HttpClient httpClient = new HttpClient()) { string sessionId = GetSessionId( httpClient, "http://localhost:8005/", "admin", "1234" ); } } private static string GetSessionId( HttpClient client, string baseUri, string username, string password ) { string logonUri = baseUri + "Api/LogOn/"; string result = string.Empty; var logonOptions = new { accountName = username, password = password, cultureName = string.Empty, deleteOtherSessions = false, isWindowsLogOn = false }; JavaScriptSerializer serializer = new JavaScriptSerializer(); var requestBodyAsString = serializer.Serialize(logonOptions); StringContent content = new StringContent( requestBodyAsString, Encoding.UTF8, "application/json" ); using (var response = client.PostAsync(logonUri, content).Result) { if (response.IsSuccessStatusCode) { string jsonString = response.Content.ReadAsStringAsync().Result; var obj = (Dictionary<string,object>) serializer.DeserializeObject(jsonString); if(obj["logOnFailureReason"].ToString() == "None") { result = obj["sessionId"].ToString(); } else { throw new Exception("Login failed"); } } } return result; }
import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.HttpClientBuilder; import org.apache.http.util.EntityUtils; import org.apache.http.entity.StringEntity; import org.json.JSONObject; ... public static void main(String[] args) { String sessionId = GetSessionId( "http://localhost:8005/", "admin", "1234" ); System.out.println("SessionID: " + sessionId); } private static String GetSessionId(String baseUri, String username, String password) { String result = ""; try { String logonUri = baseUri + "Api/LogOn/"; HttpClient httpClient = HttpClientBuilder.create().build(); HttpPost httpPost = new HttpPost(logonUri); StringEntity input = new StringEntity( "{" + "\"accountName\":\"admin\"," + "\"password\":\"1234\",\"cultureName\":\"\"," + "\"deleteOtherSessions\":false," + "\"isWindowsLogOn\":false" + "}" ); httpPost.setEntity(input); HttpResponse response = httpClient.execute(httpPost); String json = EntityUtils.toString(response.getEntity()); JSONObject jsonObject = new JSONObject(json); if(jsonObject.getString("logOnFailureReason").equals("None")) { result = jsonObject.getString("sessionId"); } } catch (Exception e) { e.printStackTrace(); } return result; }
var logonOptions = { accountName: 'admin', password: '1234', cultureName: 'en-us', deleteOtherSessions: false, isWindowsLogOn: false }; $.ajax({ type: "POST", url: "http://localhost:8005/Api/LogOn/", data: logonOptions, dataType:"json", success: function(data) { alert(data.sessionId); }, error: function(data) { alert('failed'); } });
This example makes a rest call and gets a session ID using Windows Authentication.
using System.Net; using System.Net.Http; using System.Runtime.Serialization; using System.Runtime.Serialization.Json; using System.Web.Script.Serialization; ... void Main() { HttpClientHandler handler = new HttpClientHandler(); handler.UseDefaultCredentials = true; using(HttpClient httpClient = new HttpClient(handler)) { string sessionId = GetSessionId( httpClient, "http://localhost:8005/" ); } } private static string GetSessionId( HttpClient client, string baseUri) { string logonUri = baseUri + "Api/LogOn/"; string result = string.Empty; var logonOptions = new { cultureName = string.Empty, deleteOtherSessions = false, isWindowsLogOn = true }; JavaScriptSerializer serializer = new JavaScriptSerializer(); var requestBodyAsString = serializer.Serialize(logonOptions); StringContent content = new StringContent( requestBodyAsString, Encoding.UTF8, "application/json" ); using (var response = client.PostAsync(logonUri, content).Result) { response.Content.ReadAsStringAsync().Result.Dump(); if (response.IsSuccessStatusCode) { string jsonString = response.Content.ReadAsStringAsync().Result; var obj = (Dictionary<string,object>) serializer.DeserializeObject(jsonString); if(obj["logOnFailureReason"].ToString() == "None") { result = obj["sessionId"].ToString(); } else { throw new Exception("Login failed"); } } } return result; }