Hey awesome community!
I'm trying to build an application where on the server side I have both Appwrite and a FastAPI service. I'd like each request on the FastAPI service to be authenticated through Appwrite (all routes are user-authenticated).
I read this doc: https://appwrite.io/docs/authentication-server, and my questions are:
- whats the mechanism to "pass" the JWT token to the FastAPI service? are there any best practices around that? any working snippets (in any language..) would help - where a backend service basically "delegates" the authentication to appwrite.
- is this a feasible architecture with Appwrite? my main use-case is to avoid all the gory details of having to implement (yet again) authentication my self. so my assumption was that this should be simple.
- are there any alternatives way to achieve this?
if indeed I got through that path I'd be happy to contribute some code snippets to the docs. thx!
- Typically, stuff like this is passed in a header
- You can do this. In my opinion, it's a little complicated to have an extra back end server.
- 1 alternative is similar to how to handle server side rendering: proxy login API calls through your fast API proxy, capture the session cookie, and then store it in session so it can be used later
What do you need your fast API server for anyways?
It is going to use a customized DB for CRUD but also manipulating data. there is some "deep" logic there which I believe won't fit into simple cloud functions
regarding 2 - this is not a common pattern for appwrite? usually its the "only" Backend in applications?
Yes, the usual scenario is to connect your front end app directly to Appwrite. Any special logic would go into an Appwrite Function
What's the deep logic that wouldn't fit into an Appwrite Function?
External API calls to various services, some other specific services (for statistical calculation), maybe fetching some data from batch jobs, etc.
you think that would fit an appwrite function?
it sounds "all or nothing"
This sounds like it would work in an appwrite function
You can go with your route...it's just more work since there's this extra layer you need to manage
Recommended threads
- Having issues with login via CLI
``` ~/appwrite appwrite login --endpoint https://localhost/v1 --verbose ? Enter your email myvalidemai...
- Send Email Verification With REST
I am using REST to create a user on the server side after receiving form data from the client. After the account is successfully created i wanted to send the v...
- Use different email hosts for different ...
Hello, I have 2 projects and i want to be able to set up email templates in the projects. Both projects will have different email host configurations. I see ...