mirror of
https://github.com/PrefectHQ/fastmcp.git
synced 2026-08-10 07:39:10 +02:00
|
|
||
|---|---|---|
| .. | ||
| client.py | ||
| README.md | ||
| requirements.txt | ||
| server.py | ||
AWS Cognito OAuth Example
Demonstrates FastMCP server protection with AWS Cognito OAuth.
Setup
-
Create an AWS Cognito User Pool and App Client:
- Go to AWS Cognito Console
- Create a new User Pool or use an existing one
- Create an App Client in your User Pool
- Configure the App Client settings:
- Enable "Authorization code grant" flow
- Add Callback URL:
http://localhost:8000/auth/callback - Configure OAuth scopes (at minimum:
openid)
- Note your User Pool ID, App Client ID, Client Secret, and Cognito Domain Prefix
-
Set environment variables:
export FASTMCP_SERVER_AUTH_AWS_COGNITO_USER_POOL_ID="your-user-pool-id" export FASTMCP_SERVER_AUTH_AWS_COGNITO_AWS_REGION="your-aws-region" export FASTMCP_SERVER_AUTH_AWS_COGNITO_CLIENT_ID="your-app-client-id" export FASTMCP_SERVER_AUTH_AWS_COGNITO_CLIENT_SECRET="your-app-client-secret"Or create a
.envfile:FASTMCP_SERVER_AUTH_AWS_COGNITO_USER_POOL_ID=your-user-pool-id FASTMCP_SERVER_AUTH_AWS_COGNITO_AWS_REGION=your-aws-region FASTMCP_SERVER_AUTH_AWS_COGNITO_CLIENT_ID=your-app-client-id FASTMCP_SERVER_AUTH_AWS_COGNITO_CLIENT_SECRET=your-app-client-secret -
Run the server:
python server.py -
In another terminal, run the client:
python client.py
The client will open your browser for AWS Cognito authentication.