mirror of
https://github.com/PrefectHQ/fastmcp.git
synced 2026-08-09 15:19:10 +02:00
Co-authored-by: marvin-context-protocol[bot] <225465937+marvin-context-protocol[bot]@users.noreply.github.com>
74 lines
2.5 KiB
Text
74 lines
2.5 KiB
Text
---
|
|
title: google
|
|
sidebarTitle: google
|
|
---
|
|
|
|
# `fastmcp.server.auth.providers.google`
|
|
|
|
|
|
Google OAuth provider for FastMCP.
|
|
|
|
This module provides a complete Google OAuth integration that's ready to use
|
|
with just a client ID and client secret. It handles all the complexity of
|
|
Google's OAuth flow, token validation, and user management.
|
|
|
|
Example:
|
|
```python
|
|
from fastmcp import FastMCP
|
|
from fastmcp.server.auth.providers.google import GoogleProvider
|
|
|
|
# Simple Google OAuth protection
|
|
auth = GoogleProvider(
|
|
client_id="your-google-client-id.apps.googleusercontent.com",
|
|
client_secret="your-google-client-secret"
|
|
)
|
|
|
|
mcp = FastMCP("My Protected Server", auth=auth)
|
|
```
|
|
|
|
|
|
## Classes
|
|
|
|
### `GoogleTokenVerifier` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/server/auth/providers/google.py#L57" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
|
|
|
|
|
Token verifier for Google OAuth tokens.
|
|
|
|
Google OAuth tokens are opaque (not JWTs), so we verify them by calling
|
|
Google's tokeninfo endpoint with the access token as a query parameter.
|
|
This returns the OAuth app ID (``aud``), granted scopes, and expiry time.
|
|
User profile data (name, picture, etc.) is fetched separately from the
|
|
v2 userinfo endpoint when the token is valid.
|
|
|
|
|
|
**Methods:**
|
|
|
|
#### `verify_token` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/server/auth/providers/google.py#L92" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
|
|
|
```python
|
|
verify_token(self, token: str) -> AccessToken | None
|
|
```
|
|
|
|
Verify a Google OAuth token using the tokeninfo endpoint.
|
|
|
|
Calls ``https://oauth2.googleapis.com/tokeninfo?access_token=TOKEN``
|
|
to validate the token and retrieve the OAuth app ID (``aud``), granted
|
|
scopes, and expiry time. On success, fetches user profile data from
|
|
the v2 userinfo endpoint to populate name, picture, and locale claims.
|
|
|
|
|
|
### `GoogleProvider` <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/server/auth/providers/google.py#L204" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>
|
|
|
|
|
|
Complete Google OAuth provider for FastMCP.
|
|
|
|
This provider makes it trivial to add Google OAuth protection to any
|
|
FastMCP server. Just provide your Google OAuth app credentials and
|
|
a base URL, and you're ready to go.
|
|
|
|
Features:
|
|
- Transparent OAuth proxy to Google
|
|
- Automatic token validation via Google's tokeninfo API
|
|
- User information extraction from Google APIs
|
|
- Minimal configuration required
|
|
|