i use below to authenticate a application thru REST API
(click button1).
It success, however, after that, I click button2 and
want to get data thru button 2, but it still return me 401 but I have authenticate thru button 1 already.
how to store the authenticate to C# .net (windows form application)?
below is info from the rest api manual,
Client sends a valid Basic Authentication header to the authentication point. BTW I can get the LWSSO_COOKIE_KE Y but how to use it for another web request to access other data
GET /qcbin/authentication-point/authenticate
Authorization: Basic ABCDE123
Server validates the Basic authentication headers, creates a new LW-SSO token and returns it as LWSSO_COOKIE_KE Y.
HTTP/1.1 200 OK
Set-Cookie: LWSSO_COOKIE_KE Y={cookie}
he application can now access data and services using the token. At the end of the session, log off to discard the token.
button 2
(click button1).
It success, however, after that, I click button2 and
want to get data thru button 2, but it still return me 401 but I have authenticate thru button 1 already.
how to store the authenticate to C# .net (windows form application)?
below is info from the rest api manual,
Client sends a valid Basic Authentication header to the authentication point. BTW I can get the LWSSO_COOKIE_KE Y but how to use it for another web request to access other data
GET /qcbin/authentication-point/authenticate
Authorization: Basic ABCDE123
Server validates the Basic authentication headers, creates a new LW-SSO token and returns it as LWSSO_COOKIE_KE Y.
HTTP/1.1 200 OK
Set-Cookie: LWSSO_COOKIE_KE Y={cookie}
he application can now access data and services using the token. At the end of the session, log off to discard the token.
Code:
private void button1_Click(object sender, EventArgs e)
{
try
{
Uri uri = new Uri("http://localhost:8080/qcbin/authentication-point/authenticate");
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
request.Method = "POST";
NetworkCredential credentials = new NetworkCredential("user", "password");
request.Credentials = credentials;
WebResponse v = request.GetResponse();
Stream rStream = v.GetResponseStream();
StreamReader str = new StreamReader(rStream);
if (str.EndOfStream != true)
{
richTextBox1.Text = str.ReadToEnd();
}
v.Close();
rStream.Close();
str.Close();
richTextBox1.Text = "success";
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK);
}
}
Code:
private void button2_Click_1(object sender, EventArgs e)
{
HttpWebRequest request
= WebRequest.Create("http://localhost:8080/qcbin/rest/domains/DEFAULT/projects/demoproject/defects") as HttpWebRequest;
// Get response
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
// Get the response stream
StreamReader reader = new StreamReader(response.GetResponseStream());
// output
richTextBox1.Text = reader.ReadToEnd();
}
}
Comment