feat: provider support jwt authentication #5
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.
Description of my issue / environment
I don't use the litellm master key to authenticate to my litellm instance.
I authenticate against an identity provider, giving me an JWT that it used as the api_token.
This IdP token can be read, validated and give me admin permission to my litellm instance.
The change I made
The change adds attributes to the litellm provider and make optionnal the api token.
These added attributes are used to do an HTTP Post request against the identity provider to get an access token
And this access token is then passed as the api_token.
I let the attribute request_header and request_payload widly configurable because depending on the IdP the request payload and header are not the same, to retrieve an access_token.
Example litellm terraform provider
I tested it, I created an example model and it worked.
To replicate my environment you could use keykloak