apollographql / apollographql/federation

Connecting Apollo Federation to its Subservice using Client Side Certificate

Open
#534 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
725
Forks
276
Avg merge
1h 47m
Merged PRs (30d)
1

Description

I have the following setup:

Client ---ssl---> Apollo Federation ---ssh(Client Cert required) ---> Subservice.
The Apollo Federation service list config look like following:

```
const gateway = new ApolloGateway({
serviceList: [
{ name: 'service1', url: 'https://remote.host.tld:1234/sub-service1' },
{ name: 'service2', url: 'https://another.host.tld:1234/sub-service2' }
]
});
```
One of the services requires Client side certificate, and I didn't find the way to pass the certificate. (Actually I hacked somehow into node.js code, but I'm sure it has to be a better way).

Please let me know, if there is an appropriate way to solve this task.

Contributor guide

Open the contributing guide

Research direction

Start with the ApolloGateway serviceList configuration shown in the issue and trace how each subservice request is created. Determine where client certificates could be configured for a service requiring mutual TLS, then verify the behavior against a suitable gateway or service-request test. Done means the configured certificate is used for the affected subservice without modifying Node.js internals.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
api, backend, security
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.