all repos — mcp-todotxt @ 95843561d03ec718c9a7088b6f3c885d0b7d66ce

MCP server to manage todo.txt file

auth.go (view raw)

 1package main
 2
 3import (
 4	"context"
 5	"fmt"
 6	"log"
 7
 8	"github.com/modelcontextprotocol/go-sdk/mcp"
 9)
10
11func createAuthMiddleware(token string) mcp.Middleware {
12	log.Println("Use auth token")
13	return func(next mcp.MethodHandler) mcp.MethodHandler {
14		return func(ctx context.Context, method string, req mcp.Request) (mcp.Result, error) {
15			authHeader := req.GetExtra().Header.Get("Authorization")
16			if authHeader != "Bearer "+token {
17				return nil, fmt.Errorf("unauthorized")
18			}
19			return next(ctx, method, req)
20		}
21	}
22}