bearer_auth
AuthenticatedUser
Bases: SimpleUser
User with authentication info.
Source code in src/mcp/server/auth/middleware/bearer_auth.py
13 14 15 16 17 18 19 | |
authorization_context
authorization_context(
user: AuthenticatedUser,
) -> AuthorizationContext
Identify the principal user represents, for transports to compare
against the principal that created a session. Components the token
verifier does not supply are None, so the comparison degrades to the
remaining components.
See examples/servers/simple-auth/mcp_simple_auth/token_verifier.py for
a verifier that populates subject and claims from an introspection
response.
Source code in src/mcp/server/auth/middleware/bearer_auth.py
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | |
BearerAuthBackend
Bases: AuthenticationBackend
Authentication backend that validates Bearer tokens using a TokenVerifier.
Source code in src/mcp/server/auth/middleware/bearer_auth.py
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | |
RequireAuthMiddleware
Middleware that requires a valid Bearer token in the Authorization header.
This will validate the token with the auth provider and store the resulting auth info in the request state.
Source code in src/mcp/server/auth/middleware/bearer_auth.py
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | |
__init__
__init__(
app: Any,
required_scopes: list[str],
resource_metadata_url: AnyHttpUrl | None = None,
)
Initialize the middleware.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
app
|
Any
|
ASGI application |
required |
required_scopes
|
list[str]
|
List of scopes that the token must have |
required |
resource_metadata_url
|
AnyHttpUrl | None
|
Optional protected resource metadata URL for WWW-Authenticate header |
None
|
Source code in src/mcp/server/auth/middleware/bearer_auth.py
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | |