I login to my API like this:
var apiResponse = await this.Request.PostAsync("SignInPwd?submit=submit", new APIRequestContextOptions { Form = formData });
I was hoping that i could either just reuse this.Request to make more GetAsync or PostAsync calls or do this:
var storageState = await this.Request.StorageStateAsync();
Console.WriteLine($"StorageState: {JsonConvert.SerializeObject(storageState)}");
var loggedInContext = await Playwright.APIRequest.NewContextAsync(
new APIRequestNewContextOptions
{
// All requests we send go to this API endpoint.
BaseURL = Environment.GetEnvironmentVariable("ApiBaseUrl"),
StorageState = storageState,
IgnoreHTTPSErrors = true
});
var accountUserResponse = await loggedInContext.GetAsync("api/accountapi/accountuser");
And use the loggedInContext but sadly, i'm still logged out.
What am I doing wrong? Auth is in the cookies.
This thread is trying to answer question "How can I maintain an authenticated session after logging in to an API to make subsequent API calls in C#?"
Rayrun is a community for QA engineers. I am constantly looking for new ways to add value to people learning Playwright and other browser automation frameworks. If you have feedback, email [email protected].