[FEATURE] Introduce a ThirdParty GenericOIDC implementation. #1321
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.
#1320
Description
Expanding third party IDPs to have a Generic OIDC configuration.
Currently google, github, and apple are hard coded and the only external connection.
Tested against google and azureAD-enterprise.
Implementation
Copied the google thrid party implementation.
This all still uses the Hanko OAuth2 workflow. OIDC is just a highlevel wrapper of OAuth2,
The big difference.
Metadata: map[string]string, used primarily by the frontend as a way to have an open ended configuration attached to the IDP.
ImageRef: where to pull the logo from.
DisplayName: The current usage of using the lookup key as the display name should be expanded.
etc.
Example Config for the third party.
Tests
Manually tested against google and azureAD.
Todos
This is more of a UI frontend thing, but idp lookup keys and display names are different.
The /.well-known/config needs to return more information about the IDP. i.e. the lookup key, displayName, metadata, etc.
Additional context