It looks like each API request authenticated with basic auth returns a JSESSIONID cookie. However if that cookie is passed in the next API request instead of the basic auth credentials (i.e. to switch to using cookie authentication) then a 401 results.
If however I use the /auth/1/session API then the JSESSIONID cookie returned can be used successfully.
My goal is to avoid the extra round-trip to make the POST to /auth/1/session and instead use basic auth with the first API request and cookie authentication with subsequent requests (in order to meet the recommendation here https://jira.atlassian.com/browse/JRA-44654).
Does anyone know why the JSESSIONID from API requests can be used to authenticate the next request?
Do you know what the purpose is of the JSESSIONID cookie that is returned with each API request?
Using cookie based authentication would be more efficient if it didn't require an extra call each time. Sometimes we need to make just one API call, so calling /auth/1/session would double the time taken. In other cases we make many requests in a row with the same identity and so cookie based authentication would apparently help. However it is not easy to know before the first call whether there will be many subsequent calls or not.
(Sorry this should have been a comment ... but I am locked out from making any more edits for 24 hours).
@Chris Waters I think the following might be out of interest for you on this subject.
I have multiple projects that use variations of the same base workflow. The variations depend on the requirements of the project or issue type. The variations mostly come in the form of new statuses ...
Connect with like-minded Atlassian users at free events near you!Find an event
Connect with like-minded Atlassian users at free events near you!
Unfortunately there are no Community Events near you at the moment.Host an event
You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events