# OAuthProvider

> **Class** in `deepagents_code`

📖 [View in docs](https://reference.langchain.com/python/deepagents-code/mcp_providers/base/OAuthProvider)

Base class for provider-specific OAuth dispatch.

Subclasses override `matches` plus whichever of `client_metadata`
and `run_login` they customize. The default implementations cover
the spec-compliant Authorization Code + PKCE + Dynamic Client
Registration path.

## Signature

```python
OAuthProvider()
```

## Extends

- `ABC`

## Methods

- [`matches()`](https://reference.langchain.com/python/deepagents-code/mcp_providers/base/OAuthProvider/matches)
- [`supports_loopback_callback()`](https://reference.langchain.com/python/deepagents-code/mcp_providers/base/OAuthProvider/supports_loopback_callback)
- [`loopback_port()`](https://reference.langchain.com/python/deepagents-code/mcp_providers/base/OAuthProvider/loopback_port)
- [`client_metadata()`](https://reference.langchain.com/python/deepagents-code/mcp_providers/base/OAuthProvider/client_metadata)
- [`run_login()`](https://reference.langchain.com/python/deepagents-code/mcp_providers/base/OAuthProvider/run_login)

---

[View source on GitHub](https://github.com/langchain-ai/deepagents/blob/d1c6946218b4f0f86ab7b02b6bb6af1e4b75cede/libs/code/deepagents_code/mcp_providers/base.py#L36)