this post was submitted on 25 Sep 2023
30 points (91.7% liked)
Programming
22034 readers
164 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Seconded. In particular:
Why? What qualifies as an "extra" HTTP call, and why does it matter?
Well, an "extra HTTP call" is any call besides the one required for the client to access my API, in this case is an extra call to generate an access token.
Why does it matter? In words of the client: "making a call to generate a token is slow"
If it was happening every page load or every API call, you might have a weak argument.
Regardless, what's the general architecture of this app? You've got an HTTP API, what else? How much is under your control, versus third parties?
I agree, the token has a lifespan of some hours so it could be generated after that amount of time, which for a ~400ms call is not that much, but I was overruled .-.
The only thing I control is the API, the client's implementation is outside of my control (although I know is a backend service).
Okay, so you're building an API that another server needs to auth with? If the opposing side is a server, a pre-shared PKI cert ought to work. If the opposing side is a potentially-untrustworth client application, the truth is there's nothing that's going to fit such a simple definition of "extra". The back and forth it takes to establish token exchange is not "extra" is the cost you have to pay to get security.
Are there a limited number of clients hitting the API? Would client side TLS certs be an option?