aws-amplify / aws-amplify/amplify-cli
Support "generic" OIDC Provider
- Dominant language
- TypeScript
- Stars
- 2.9k
- Forks
- 825
- Avg merge
- 11d 23h
- Merged PRs (30d)
- 2
Description
**Is your feature request related to a problem? Please describe.**
I want to authenticate with an OIDC provider that is not supported.
**Describe the solution you'd like**
When using `amplify update auth`, I'd like to select a "Custom" 3rd party OIDC provider. This should then prompt for the Client ID, issuer and thumbprint. These values should be used to add a new OIDC provider to IAM, then federate with that OIDC provider.
**Describe alternatives you've considered**
Alternative is to edit the CloudFormation auth template to add the OIDC provider. This involves editing the OpenIdLambdaIAMPolicy document to add the new provider, adding a new LambdaInputs section with the client ID and issuer, and then adding that section to the OpenIdAuthenticationProviders section of the identity pool.
This gets you 90% of the way there. However, you still have to deal with the thumbprint, which cannot be done easily. I went onto the web console to set it. (The code is mostly there in the lambda function that creates the OpenId provider in IAM, but it sets a constant thumbprint instead of reading it from the inputs)
**Additional context**
Contributor guide
Research direction
Start with the amplify update auth flow and the existing Lambda that creates the OpenID provider in IAM. Trace OpenIdLambdaIAMPolicy, LambdaInputs, and OpenIdAuthenticationProviders to see how current providers are wired. Done means a Custom provider prompts for client ID, issuer, and thumbprint, then uses those values to create and federate the provider.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, typescript
- Domain
- authentication, cli, cloud
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100