
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
- Appwrite stopped working, I can't authen...
I'm having an issue with Appwrite. It was working fine just a while ago, but suddenly it stopped working for me and can't authenticate accounts. I even went bac...
- Set succes/failure url in console
Hi guys, I want to set up a succes and failure url for my OAuth2 provider Google. But I don't see any options for this? Is it not possible to do so? Beside th...
- Fail to receive the verification email a...
I added my email address to prevent it from showing "appwrite," but now I'm not receiving emails for verification or password resets. The function appears to be...
