Hey, having problems with the intended way to do SSR login...
I'm looking at this as a reference: https://appwrite.io/docs/products/auth/server-side-rendering#creating-sessions however I am using a .net back end (front end also, but thats not relevant here).
I create a singleton for my Admin Client in DI, and create the session client as a transient which will be instantiated each time as so (I've removed the project and key's, and this is a test project so no need for hiding them in secrets right now):
var adminClient = new Appwrite.Client()
.SetEndpoint("")
.SetProject("")
.SetKey("");
builder.Services.AddKeyedSingleton("admin", adminClient);
builder.Services.AddKeyedTransient("session", (provider, key) => new Appwrite.Client().SetEndpoint("").SetProject(""));
I've created an API endpoint, which currently isn't setting cookies as I haven't gotten that far, but thats to be done, as follows:
public static async Task<IResult> Login(LoginModel login, [FromKeyedServices("admin")] Appwrite.Client client)
{
var accountClient = new Account(client);
var result = await accountClient.CreateEmailPasswordSession(login.Email, login.Password);
return TypedResults.Ok();
}
This appears to match the docs I referenced above - using the admin client not the session client, and calling create email password session.
Everything works at first, but then any action I try and make after this call with the admin client will fail with the following error:
Appwrite.AppwriteException: API key and session used in the same request. Use either `setSession` or `setKey`. Learn about which authentication method to use in the SSR docs: https://appwrite.io/docs/products/auth/server-side-rendering
I never call setSession on the admin client, but it appears to be having its session set by calling CreateEmailPasswordSession?
Is this meant to be the case?
I could solve it be injecting the AdminClient everywhere as Transient rather than a singleton, but that's not the real solution I don't feel...
Recommended threads
- Issue with google and apple oauth in Flu...
My Flutter application is logging in and out with email and password successfully, but I’m having trouble with Google and Apple OAuth login and signup. Here’s...
- Issue with Appwrite Read Request Limit b...
Hi Team, My coding terminal connected to the Appwrite CLI blew through my Projects Read request limit with in a day! and thats a large limit! I'm not sure how...
- I lost my account, only thing i have is ...
So i had this project on appwrite for my web project called Islami zindagi, but i havent used it in a while, now i tried to login, but i could not remember the ...