I'm trying to re-work my application which was designed more for user-driven behaviour to m2m friendly - I want let external web services to interact with my microservices.
Architecture is the following:
1. API gateway which uses netflix zuul proxy
2. Authorization service (oauth 2.0)
3. bunch of microservices which communicate through the gateway
I'm looking for an example of the gateway configuration that when an external client/service (ext) tries to access my backend services (api) the gateway (gw) would establish a secure session by redirecting request to the oauth service (oa), then after oa provides access token to ext, the gw would let with this token the ext through and access the api; the api should get the ext token (jwt) and validate it (scope), then if access to a resource can be granted would process the request.
I have almost all ingredients - oa with client credentials configuration enabled and database with client credentials (including scopes configuration), api (which checks requester jwt token for required scopes), but I don't know how to implement the gw configuration.
My question on stack overflow is here, very similar but more generic request (system architecture is exactly the same except for thing that I don't need/want user authorisation, only client) is here.