我厭倦了不同的資源,但無法找到我的問題的答案,如果此問題已在其他地方得到解答,請將鏈接發送給我。在寧靜的C#中使用身份驗證令牌
我有寧靜的服務消耗,要做到這一點,我必須先使用認證。 好吧,這是工作正常,我管理身份驗證,我得到的身份驗證令牌。
現在,當我想使用我想要的服務時,我得到了 遠程服務器返回了錯誤:(401)未經授權。
服務中沒有使用令牌的地方。
我創建了一個簡單的C#程序做 它包含2個按鈕 按鈕1:將用戶進行身份驗證(工作正常,我得到令牌) 按鈕2:將使用的主要服務(不工作並獲得未經授權)
這是我的代碼 請指教我應該如何使用身份驗證令牌。
private void button1_Click(object sender, EventArgs e)
{
var httpWebRequest = (HttpWebRequest)WebRequest.Create("https://apps.ramm.co.nz:443/RammApi6.1/v1/authenticate/login");
httpWebRequest.ContentType = "application/json";
httpWebRequest.Method = "POST";
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
string json = "{\"database\":\"RAMM API Demo\"," +
" \"userName\":\"api_demo\"," +
"\"password\":\"thursday\"}";
streamWriter.Write(json);
streamWriter.Flush();
streamWriter.Close();
}
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var result = streamReader.ReadToEnd();
}
}
.............
private void button2_Click(object sender, EventArgs e)
{
var httpWebRequest = (HttpWebRequest)WebRequest.Create("https://apps.ramm.co.nz:443/RammApi6.1/v1/data/table");
httpWebRequest.ContentType = "application/json";
httpWebRequest.Method = "POST";
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
string json = "{ \"tableName\": \"carr_way\" " +
", \"expandLookups\": \"False\" " +
", \"getGeometry\": \"True\" " +
", \"loadType\": \"Specified\" " +
", \"columns\": [\"carr_way_no\", \"road_id\", \"carrway_start_m\", \"carrway_end_m\", \"start_name\", \"end_name\", \"added_on\", \"chgd_on\"] " +
", \"filters\": [[{\"columnName\": \"added_on\", \"operator\": \"GreaterThan\", \"value\": \"2015-01-01\"}] " +
", [{\"columnName\": \"chgd_on\", \"operator\": \"GreaterThan\", \"value\": \"2015-01-01\"}]]}";
streamWriter.Write(json);
streamWriter.Flush();
streamWriter.Close();
}
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var result = streamReader.ReadToEnd();
}
}
你似乎沒有點擊按鈕1時節省您的身份驗證令牌,因此你點擊按鈕2當從不發送您的身份驗證令牌...... –
@SaniSinghHuttunen如何用它? – asmgx
太寬泛,太不明確... –