Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Signed-off-by: m.nabokikh [email protected]
Overview
This is the very first naive gRPC-based implementation of external connectors support. Two connector types have been added: external password connector and external callback connector.
What this PR does / why we need it
With these changes, it becomes possible to write custom connectors utilizing gRPC API or the SDK for Golang (I have added examples for both types).
Closes #1907
Special notes for your reviewer
Dex communicates with external connectors only via localhost because of security concerns.
The
external-gitlab
example of the callback external connector is a copy-paste of the in-tree gitlab connector just to see how easy it will be to convert old connectors/write new ones. However, I'm highly concerned about merging it to master. It seems a lot better to develop some brand new connector in a separate repository.Does this PR introduce a user-facing change?