-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add basic authentication to Feluda's /search endpoint. #21
Comments
Based on documentation, There are bunch of actionable here:
I came across a library: Flask-HTTPAuth that is under active development and can give us feature of adding different types of authentication to this endpoint. I haven't explored native flask's support on adding authentication to an endpoint and maybe that could be even more straightforward. So while remaining of Kosh's interface will use Kosh's API, the search endpoint would point to Feluda API. In that situation, we would want the authentication to be common across both Kosh and Feluda. Adding another, separate login for search would break the UX. |
Reg 1. I should have clarified this. feluda/src/api/endpoint/search.py Lines 40 to 64 in f6bb56c
You correctly said that the /search endpoint should not add latency since both kosh and feluda are on the same AWS network. In an earlier version image and video search flow from client to feluda would involve :
We realized that a bulk of the latency in our search operation was coming from (4)
Yeah i was also hoping some library like the one you attached would help us secure this. |
All API requests from clients go via Kosh API server and this has worked well for us in the past. When it comes to searching for images or videos, going to feluda via kosh server adds a latency that makes our search feel very slow. our image search engine actually returns results in milliseconds but adding these intermediary nodes between the client and search server causes latency of 3,5 seconds. In our current code for search operations clients talk directly to feluda and the experience is great but this can't be deployed as it would be insecure.
The text was updated successfully, but these errors were encountered: