Allow Agent instance to supply custom OAuth provider. #298
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.
I am implementing agents that use alternative ways to register and authenticate with OAuth authorization servers. These mechanisms are based on early draft OAuth specifications, and will hopefully see more widespread adoption as MCP's use of OAuth matures beyond dynamic client registration (which has many downsides).
To facilitate this, supplying a different
AgentsOAuthProvider
is necessary. This pull request proposes acreateOAuthProvider
function on theAgent
class, which by default returns the currentDurableObjectOAuthClientProvider
instance. This function can be overridden byAgent
subclasses that need to use an alternative implementation.An example of a agent that has a custom OAuth provider is as follows:
Let me know if I can supply any additional details. Any and all feedback is welcome! Thanks!