-
Notifications
You must be signed in to change notification settings - Fork 270
Open
Description
First, let's add an auth package, a peer of mcp. It will hold everything auth-related, to keep it from cluttering mcp.
The two initial types are:
ClientOptions: a struct with values that the client can set on creation. Initial fields:
ClientID,ClientSecret: these can hold the required OAuth fields in case the auth server doesn't support dynamic client registration.RedirectURI: another part of the OAuth flow. I don't see how this could be provided in any other way (and thus perhaps it is not an "option"; but I will research this further).
auth.ClientOptions would be the type of a field in mcp.StreamableClientTransportOptions.
ServerInfo: this is close to what I called AuthInfo in #237. It holds the result of validating the access token, and perhaps the raw token itself if that's of any use to anyone. It will have some fixed fields, but will also need a map[string]any because the token format is open-ended, and even in the common case of JWT, the claims are open-ended.
nipe0324
Metadata
Metadata
Assignees
Labels
No labels