Si no desea codificar sus credenciales en cada petición que aquí es cómo hacer que el uso de cookies.
Al solicitar la cookie, no es necesario agregar ninguna autorización en los encabezados. Este método aceptará una cadena JSON con el nombre de usuario, la contraseña y la URL. Devolverá los valores de las cookies.
public async Task<JiraCookie> GetCookieAsync(string myJsonUserNamePassword, string JiraCookieEndpointUrl)
{
using (var client = new HttpClient())
{
var response = await client.PostAsync(
JiraCookieEndpointUrl,
new StringContent(myJsonUserNamePassword, Encoding.UTF8, "application/json"));
var json = response.Content.ReadAsStringAsync().Result;
var jiraCookie= JsonConvert.DeserializeObject<JiraCookie>(json);
return jArr;
}
}
public class JiraCookie
{
public Session session { get; set; }
}
public class Session
{
public string name { get; set; }
public string value { get; set; }
}
Cuando lo llamo usando url: http://[baseJiraUrl]/rest/auth/1/session se devuelve la siguiente respuesta JSON:
{
"session" : -{
"name" : JSESSIONID,
"value" : cookieValue
}
Tenga en cuenta la URL anterior es válida en la versión de JIRA que estoy usando y puede variar dependiendo en qué versión estás usando Lea la documentación de la API de JIRA para obtener la URL correcta para la versión que está usando. Estoy usando lo siguiente: https://docs.atlassian.com/software/jira/docs/api/REST/7.6.1/#auth/1/session
Recuerde que tendrá que guardar su cookie y usarla en cada solicitud posterior. Consulte esta respuesta sobre cómo agregar cookies a su solicitud de HttpClient: How do I set a cookie on HttpClient's HttpRequestMessage.
Una vez que haya terminado con la cookie (cierre de sesión) simplemente envíe una solicitud de eliminación http con la misma URL que la publicación.
¿Por qué tiene un ContentType y ContentLength especificado? No veo ningún contenido/cuerpo real incluido en tu código. – Pete
Usted dice que regresó sin ninguna respuesta, ¿su solicitud.GetResponse() arroja una excepción? Debería haber al menos algún tipo de respuesta del servidor web. – Joppe