Implement a full OAuth2 2.0 and OpenID Connect 1.0 authorization server with support for authorization code flow (with PKCE), refresh token rotation, device authorization grant, dynamic client registration, token introspection, and token revocation. Includes database schema, coredata layer, service logic, HTTP handlers, OIDC discovery endpoint, and JWKS publishing. Signed-off-by: Bryan Frimin <bryan@getprobo.com>
196 lines
8.9 KiB
Modula-2
196 lines
8.9 KiB
Modula-2
module go.probo.inc/probo
|
|
|
|
go 1.26.2
|
|
|
|
require (
|
|
codeberg.org/miekg/dns v0.6.65
|
|
github.com/99designs/gqlgen v0.17.87
|
|
github.com/anthropics/anthropic-sdk-go v1.25.1
|
|
github.com/aws/aws-sdk-go-v2 v1.41.5
|
|
github.com/aws/aws-sdk-go-v2/credentials v1.19.10
|
|
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.18
|
|
github.com/aws/aws-sdk-go-v2/service/bedrockruntime v1.50.4
|
|
github.com/aws/aws-sdk-go-v2/service/s3 v1.97.3
|
|
github.com/brianvoe/gofakeit/v7 v7.14.1
|
|
github.com/charmbracelet/huh v1.0.0
|
|
github.com/charmbracelet/lipgloss v1.1.0
|
|
github.com/chromedp/cdproto v0.0.0-20250803210736-d308e07a266d
|
|
github.com/chromedp/chromedp v0.14.2
|
|
github.com/crewjam/saml v0.5.1
|
|
github.com/digitorus/timestamp v0.0.0-20250524132541-c45532741eea
|
|
github.com/go-chi/chi/v5 v5.2.5
|
|
github.com/go-chi/cors v1.2.2
|
|
github.com/jackc/pgx/v5 v5.9.1
|
|
github.com/jhillyerd/enmime v1.3.0
|
|
github.com/microcosm-cc/bluemonday v1.0.27
|
|
github.com/modelcontextprotocol/go-sdk v1.4.1
|
|
github.com/muesli/termenv v0.16.0
|
|
github.com/openai/openai-go v1.12.0
|
|
github.com/pdfcpu/pdfcpu v0.11.1
|
|
github.com/pires/go-proxyproto v0.11.0
|
|
github.com/prometheus/client_golang v1.23.2
|
|
github.com/scim2/filter-parser/v2 v2.2.0
|
|
github.com/stretchr/testify v1.11.1
|
|
github.com/vektah/gqlparser/v2 v2.5.32
|
|
github.com/vikstrous/dataloadgen v0.0.10
|
|
github.com/yuin/goldmark v1.4.13
|
|
go.gearno.de/crypto/uuid v0.1.1-0.20251208105319-3f587312a712
|
|
go.gearno.de/kit v0.5.0
|
|
go.gearno.de/x/ref v0.0.0-20260216110753-a700c951377c
|
|
go.opentelemetry.io/otel v1.43.0
|
|
go.opentelemetry.io/otel/trace v1.43.0
|
|
go.probo.inc/mcpgen v0.0.0-20260223192226-386b1fbe6184
|
|
golang.org/x/crypto v0.49.0
|
|
golang.org/x/image v0.38.0
|
|
golang.org/x/oauth2 v0.35.0
|
|
golang.org/x/sync v0.20.0
|
|
google.golang.org/api v0.269.0
|
|
gopkg.in/dnaeon/go-vcr.v4 v4.0.6
|
|
gopkg.in/yaml.v3 v3.0.1
|
|
)
|
|
|
|
require (
|
|
github.com/atotto/clipboard v0.1.4 // indirect
|
|
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
|
|
github.com/aymerick/douceur v0.2.0 // indirect
|
|
github.com/catppuccin/go v0.3.0 // indirect
|
|
github.com/charmbracelet/bubbles v1.0.0 // indirect
|
|
github.com/charmbracelet/bubbletea v1.3.10 // indirect
|
|
github.com/charmbracelet/colorprofile v0.4.1 // indirect
|
|
github.com/charmbracelet/x/ansi v0.11.6 // indirect
|
|
github.com/charmbracelet/x/cellbuf v0.0.15 // indirect
|
|
github.com/charmbracelet/x/exp/strings v0.0.0-20240722160745-212f7b056ed0 // indirect
|
|
github.com/charmbracelet/x/term v0.2.2 // indirect
|
|
github.com/clipperhouse/displaywidth v0.9.0 // indirect
|
|
github.com/dustin/go-humanize v1.0.1 // indirect
|
|
github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect
|
|
github.com/gorilla/css v1.0.1 // indirect
|
|
github.com/lucasb-eyer/go-colorful v1.3.0 // indirect
|
|
github.com/mattn/go-localereader v0.0.1 // indirect
|
|
github.com/mitchellh/hashstructure/v2 v2.0.2 // indirect
|
|
github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect
|
|
github.com/muesli/cancelreader v0.2.2 // indirect
|
|
github.com/rivo/uniseg v0.4.7 // indirect
|
|
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
|
|
go.yaml.in/yaml/v4 v4.0.0-rc.3 // indirect
|
|
golang.org/x/telemetry v0.0.0-20260311193753-579e4da9a98c // indirect
|
|
)
|
|
|
|
require (
|
|
cloud.google.com/go/auth v0.18.2 // indirect
|
|
cloud.google.com/go/auth/oauth2adapt v0.2.8 // indirect
|
|
cloud.google.com/go/compute/metadata v0.9.0 // indirect
|
|
github.com/agnivade/levenshtein v1.2.1 // indirect
|
|
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.8 // indirect
|
|
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.21 // indirect
|
|
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.21 // indirect
|
|
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.22 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.7 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.13 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.21 // indirect
|
|
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.21 // indirect
|
|
github.com/aws/smithy-go v1.24.2
|
|
github.com/beevik/etree v1.6.0 // indirect
|
|
github.com/beorn7/perks v1.0.1 // indirect
|
|
github.com/bitfield/gotestdox v0.2.2 // indirect
|
|
github.com/cenkalti/backoff/v5 v5.0.3 // indirect
|
|
github.com/cention-sany/utf7 v0.0.0-20170124080048-26cad61bd60a // indirect
|
|
github.com/cespare/xxhash/v2 v2.3.0 // indirect
|
|
github.com/chromedp/sysutil v1.1.0 // indirect
|
|
github.com/clipperhouse/stringish v0.1.1 // indirect
|
|
github.com/clipperhouse/uax29/v2 v2.5.0 // indirect
|
|
github.com/davecgh/go-spew v1.1.1 // indirect
|
|
github.com/di-wu/parser v0.3.0 // indirect
|
|
github.com/di-wu/xsd-datetime v1.0.0 // indirect
|
|
github.com/digitorus/pkcs7 v0.0.0-20230713084857-e76b763bdc49 // indirect
|
|
github.com/dnephin/pflag v1.0.7 // indirect
|
|
github.com/elimity-com/scim v0.0.0-20240320110924-172bf2aee9c8
|
|
github.com/fatih/color v1.19.0 // indirect
|
|
github.com/felixge/httpsnoop v1.0.4 // indirect
|
|
github.com/fsnotify/fsnotify v1.9.0 // indirect
|
|
github.com/go-json-experiment/json v0.0.0-20251027170946-4849db3c2f7e // indirect
|
|
github.com/go-logr/logr v1.4.3 // indirect
|
|
github.com/go-logr/stdr v1.2.2 // indirect
|
|
github.com/go-viper/mapstructure/v2 v2.5.0 // indirect
|
|
github.com/gobwas/httphead v0.1.0 // indirect
|
|
github.com/gobwas/pool v0.2.1 // indirect
|
|
github.com/gobwas/ws v1.4.0 // indirect
|
|
github.com/goccy/go-yaml v1.19.2 // indirect
|
|
github.com/gogs/chardet v0.0.0-20211120154057-b7413eaefb8f // indirect
|
|
github.com/google/jsonschema-go v0.4.2
|
|
github.com/google/s2a-go v0.1.9 // indirect
|
|
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect
|
|
github.com/google/uuid v1.6.0 // indirect
|
|
github.com/googleapis/enterprise-certificate-proxy v0.3.12 // indirect
|
|
github.com/googleapis/gax-go/v2 v2.17.0 // indirect
|
|
github.com/gorilla/websocket v1.5.3 // indirect
|
|
github.com/grpc-ecosystem/grpc-gateway/v2 v2.28.0 // indirect
|
|
github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
|
|
github.com/hhrutter/lzw v1.0.0 // indirect
|
|
github.com/hhrutter/pkcs7 v0.2.0 // indirect
|
|
github.com/hhrutter/tiff v1.0.2 // indirect
|
|
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
|
github.com/jackc/pgpassfile v1.0.0 // indirect
|
|
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
|
|
github.com/jackc/puddle/v2 v2.2.2 // indirect
|
|
github.com/jaytaylor/html2text v0.0.0-20230321000545-74c2419ad056 // indirect
|
|
github.com/jonboulle/clockwork v0.5.0 // indirect
|
|
github.com/mattermost/xml-roundtrip-validator v0.1.0 // indirect
|
|
github.com/mattn/go-colorable v0.1.14 // indirect
|
|
github.com/mattn/go-isatty v0.0.20 // indirect
|
|
github.com/mattn/go-runewidth v0.0.19 // indirect
|
|
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
|
|
github.com/olekukonko/tablewriter v1.1.3 // indirect
|
|
github.com/pkg/errors v0.9.1 // indirect
|
|
github.com/pmezard/go-difflib v1.0.0 // indirect
|
|
github.com/prometheus/client_model v0.6.2 // indirect
|
|
github.com/prometheus/common v0.67.5 // indirect
|
|
github.com/prometheus/procfs v0.20.1 // indirect
|
|
github.com/russellhaering/goxmldsig v1.6.0 // indirect
|
|
github.com/segmentio/asm v1.1.3 // indirect
|
|
github.com/segmentio/encoding v0.5.4 // indirect
|
|
github.com/sosodev/duration v1.3.1 // indirect
|
|
github.com/spf13/cobra v1.10.2
|
|
github.com/spf13/pflag v1.0.10 // indirect
|
|
github.com/ssor/bom v0.0.0-20170718123548-6386211fdfcf // indirect
|
|
github.com/tidwall/gjson v1.18.0 // indirect
|
|
github.com/tidwall/match v1.2.0 // indirect
|
|
github.com/tidwall/pretty v1.2.1 // indirect
|
|
github.com/tidwall/sjson v1.2.5 // indirect
|
|
github.com/urfave/cli/v3 v3.6.2 // indirect
|
|
github.com/yosida95/uritemplate/v3 v3.0.2 // indirect
|
|
go.gearno.de/x/panicf v0.1.1 // indirect
|
|
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
|
|
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0 // indirect
|
|
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.43.0 // indirect
|
|
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.43.0 // indirect
|
|
go.opentelemetry.io/otel/metric v1.43.0 // indirect
|
|
go.opentelemetry.io/otel/sdk v1.43.0
|
|
go.opentelemetry.io/proto/otlp v1.10.0 // indirect
|
|
go.yaml.in/yaml/v2 v2.4.4 // indirect
|
|
golang.org/x/mod v0.34.0 // indirect
|
|
golang.org/x/net v0.52.0
|
|
golang.org/x/sys v0.42.0 // indirect
|
|
golang.org/x/term v0.41.0
|
|
golang.org/x/text v0.35.0 // indirect
|
|
golang.org/x/tools v0.43.0 // indirect
|
|
google.golang.org/genproto/googleapis/api v0.0.0-20260401024825-9d38bb4040a9 // indirect
|
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20260401024825-9d38bb4040a9 // indirect
|
|
google.golang.org/grpc v1.80.0 // indirect
|
|
google.golang.org/protobuf v1.36.11 // indirect
|
|
gopkg.in/yaml.v2 v2.4.0 // indirect
|
|
gotest.tools/gotestsum v1.13.0 // indirect
|
|
sigs.k8s.io/yaml v1.6.0
|
|
)
|
|
|
|
tool (
|
|
github.com/99designs/gqlgen
|
|
go.probo.inc/mcpgen
|
|
golang.org/x/tools/cmd/deadcode
|
|
gotest.tools/gotestsum
|
|
)
|
|
|
|
replace github.com/olekukonko/tablewriter => github.com/olekukonko/tablewriter v0.0.5
|
|
|
|
replace github.com/elimity-com/scim => github.com/getprobo/scim v0.0.0-20260309220528-a952b258e8d3
|