Hi! I'm interested in leveraging Cloudflare workers to run certain functions, but I also want to restrict access to these functions to only logged in users. These functions are entirely independent of any database connection and solely serve as REST APIs to fetch data from other APIs. Is it possible to validating appwrite Auth tokens on Cloudflare Workers to make the functions only available to logged in users?
Maybe with JWT? https://appwrite.io/docs/products/auth/jwt
You can't restrict completely the access to the workers, but once they're executed you can check if the user has or not a valid JWT and their permissions. Then make something based on that.
If you use Appwrite functions instead, you can restrict their execution to specific users or teams
It seems that running the Appwrite Node.js server SDK on Cloudflare workers isn't feasible due to Cloudflare's limited support for Node.js APIs and we need to use 'jose' (github.com/panva/jose) for this purpose. However, it requires the JWT secret key to verify the signed JWT tokens. Any ideas on how to obtain the Appwrite JWT secret key?
if you're on Appwrite version 1.5, you can use https://www.npmjs.com/package/node-appwrite/v/12.1.0-rc.4
@Steven I was able to successfully install the version you sent on a worker, but I'm not sure how I can validate the received token using the Client instance (https://appwrite.io/docs/products/auth/jwt). Also, I was wondering if the validation will be done locally on the worker, or if it sends a request to my appwrite server every time I initiate a new client instance on worker? Thanks
Recommended threads
- self-hosted auth: /v1/account 404 on saf...
Project created in React/Next.js, Appwrite version 1.6.0. Authentication works in all browsers except Safari (ios), where an attempt to connect to {endpoint}/v1...
- Having issues with login via CLI
``` ~/appwrite appwrite login --endpoint https://localhost/v1 --verbose ? Enter your email myvalidemai...
- Rate Limit of project
AppwriteException: Rate limit for the current endpoint has been exceeded. Please try again after some time. So , how much time I have to wait and why does it h...