feat: Add OPENID_AUTHORIZATION_PARAMS support for custom OAuth parameters #10029
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.
Summary
This PR adds support for custom OAuth authorization parameters via the
OPENID_AUTHORIZATION_PARAMS
environment variable, enabling use cases like AWS Cognito'sidp_identifier
parameter for direct identity provider redirection.Problem Statement
When using LibreChat with AWS Cognito as an OIDC provider, there was no way to add the
idp_identifier
parameter that Cognito supports to redirect users directly to a specific identity provider, bypassing the Cognito Hosted UI.Solution
Added a new environment variable
OPENID_AUTHORIZATION_PARAMS
that accepts a JSON object of custom parameters to be added to the OAuth authorization request.Changes Made:
authorizationRequestParams()
inCustomOpenIDStrategy
to parse and apply custom parametersFeatures:
Usage Example
For AWS Cognito with a specific identity provider:
OPENID_AUTHORIZATION_PARAMS='{"idp_identifier":"MyIdentityProvider"}'
For multiple parameters:
OPENID_AUTHORIZATION_PARAMS='{"idp_identifier":"Provider","prompt":"login","max_age":"3600"}'
Testing
Added 12 comprehensive test cases covering:
All new tests pass. Pre-existing test failures are unrelated to this PR.
Related Issues
Resolves the need for custom OAuth parameters in OpenID authentication flow, particularly for AWS Cognito idp_identifier support.
🤖 Generated with Claude Code
Co-Authored-By: Claude [email protected]