ronakt72 / ronnei

0 stars 0 forks source link

okta push authentication API Integration #1

Open ronakt72 opened 6 years ago

ronakt72 commented 6 years ago

i am trying to integrate okta push authentication in my c# application

when i am calling API("/api/v1/users/userid/factors/factorid/verify") using HttpWebRequest i am getting null response and further getting Exception as "The remote server returned an error: (500) Internal Server Error."

ronakt72 commented 6 years ago

public String SendNotification(String pUserID, List pOTP_Devices, Boolean USINGWEB) { 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;
        }
    }