Я пытаюсь встроить аутентификацию okta push в мое приложение c #
, когда я вызываю API ("/ api / v1 / users / userid / factor / factorid / verify"), используя HttpWebRequest я получаю ноль ответ и далее получаю исключение как "Удаленный сервер возвратил ошибку: (500) Внутренняя ошибка сервера." , но в то же время он отлично работает с REST API
public String SendNotification(String pUserID, List<OTP_Devices> pOTP_Devices)
{
try
{
String ReturnData = "";
String FactorID = pOTP_Devices.First(s => s.FactorType == "push").ID;
String URL = SubDomain + "/api/v1/users/" + pUserID + "/factors/" + FactorID + "/verify";
RootObject tmpRootObject = new RootObject();
HttpWebResponse lHttpWebResponse = null;
HttpWebRequest lHttpWebRequest = (HttpWebRequest)WebRequest.Create(URL);
lHttpWebRequest.Method = "POST";
lHttpWebRequest.Accept = "application/json";
lHttpWebRequest.ContentType = "application/json";
lHttpWebRequest.Headers.Add("authorization", "SSWS " + APIKey);
try
{
lHttpWebResponse = (HttpWebResponse)lHttpWebRequest.GetResponse();
}
catch (WebException ex)
{
lHttpWebResponse = (HttpWebResponse)ex.Response;
if (lHttpWebResponse == null)
{
throw ex;
}
}
ReturnData = new StreamReader(lHttpWebResponse.GetResponseStream()).ReadToEnd();
tmpRootObject = JSON.Decode<RootObject>(ReturnData);
ReturnData = tmpRootObject._Links.Poll.Href;
return ReturnData;
}
catch (Exception ex)
{
throw ex;
}
}
public String SendNotification(String pUserID, List<OTP_Devices> pOTP_Devices)
{
String ReturnData = "";
try
{
String FactorID = pOTP_Devices.First(s => s.FactorType == "push").ID;
String URL = SubDomain + "/api/v1/users/" + pUserID + "/factors/" + FactorID + "/verify";
RestClient lRestClient = new RestClient(URL);
RestRequest lRestRequest = new RestRequest(Method.POST);
lRestRequest.AddHeader("Accept", "application/json");
lRestRequest.AddHeader("Content-Type", "application/json");
lRestRequest.AddHeader("authorization", "SSWS " + APIKey);
IRestResponse tmpRestResponse = lRestClient.Execute(lRestRequest);
String ResponseContent = tmpRestResponse.Content;
RootObject lRootObject = JSON.Decode<RootObject>(ResponseContent);
ReturnData = lRootObject._Links.Poll.Href;
}
catch (Exception ex)
{
throw ex;
}
return ReturnData;
}