Settings

Theme

Ask HN: How do you handle authentication and authorization between microservices

43 points by somtum 8 years ago · 16 comments


exabrial 8 years ago

Take a look at the Microprofile JWT specifications. It provides a standard set of jwt claims: https://www.eclipse.org/community/eclipse_newsletter/2017/se...

jwhitlark 8 years ago

https://istio.io

codegladiator 8 years ago

A central server which maintain all authorization information. The client can request token to access a particular service. The service verifies the token by calling the central server and gets in response the permissions available for that token. Also, a TTLed cache on the servers.

  • hkarthik 8 years ago

    I assume the "central server" is actually an HA cluster of servers with consistency checking of the token data. Otherwise it sounds like a pretty bad SPOF. Any lessons you learned along the way with setting this up?

    • codegladiator 8 years ago

      You are correct, single would be disaster. One of the lesson learnt, every network call is going add at least 10ms.

nickserv 8 years ago

System user permissions with public/private keys for lower level APIs (SSH tunnels, basically).

Centralized token services for ReST APIs

exabrial 8 years ago

I used to work for a company that has a solution for this exact problem: http://www.tribestream.io Great product and the people couldn't be a more diverse and all around good group of people.

Rjevski 8 years ago

Client certs for service to service communication.

Auth tokens validated by a central entity (a bunch of servers really) for user (mobile apps, etc) to service communication.

borncrusader 8 years ago

JWTs are a good approach. I've also seen folks using mTLS with gRPC.

carlosdp 8 years ago

JWT tokens are a decent approach

toomuchtodo 8 years ago

Vaulted API keys with lifecycle management.

steve_taylor 8 years ago

Docker secrets.

matchmike1313 8 years ago

API keys typically

segmondy 8 years ago

keycloak

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection