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
- Current User is Not authorized
recreating same Thread
- Error: User (role: guests) missing scope...
I want to send a verification code to the user and the given phone number and check it and create a session right after the user entered the secret. For me that...
- Apple OAuth Scopes
Hi Hi, I've configured sign in with apple and this is the response i'm getting from apple once i've signed in. I cant find anywhere I set scopes. I remember se...