This change adds support for RFC 9728 (OAuth 2.0 Protected Resource Metadata) by introducing a `ProtectedResourceMetadataHandler`. The handler includes built-in CORS support with `Access-Control-Allow-Origin: *` by default, as OAuth metadata is public information meant for client discovery. Documentation includes examples for using custom CORS policies with popular middleware libraries (github.com/rs/cors and github.com/jub0bs/cors). The implementation follows RFC 9728 §3.1 for OAuth 2.0 Authorization Server Metadata discovery, enabling clients to discover protected resource capabilities and authentication requirements.
16 lines
361 B
Modula-2
16 lines
361 B
Modula-2
module auth-middleware-example
|
|
|
|
go 1.23.0
|
|
|
|
require (
|
|
github.com/golang-jwt/jwt/v5 v5.2.2
|
|
github.com/modelcontextprotocol/go-sdk v0.3.0
|
|
)
|
|
|
|
require (
|
|
github.com/google/jsonschema-go v0.3.0 // indirect
|
|
github.com/yosida95/uritemplate/v3 v3.0.2 // indirect
|
|
golang.org/x/oauth2 v0.30.0 // indirect
|
|
)
|
|
|
|
replace github.com/modelcontextprotocol/go-sdk => ../../../
|