Install
sh
go get github.com/libraz/go-oidc-provider/op@latestThe library targets Go 1.25+ (matches the go.mod directive). The storage-adapter sub-modules under op/storeadapter/sql and op/storeadapter/redis already required Go 1.25 for their testcontainers-driven integration tests; the root module now matches that floor.
Modules and sub-modules
| Module path | When to import |
|---|---|
github.com/libraz/go-oidc-provider/op | Always — the public API. |
github.com/libraz/go-oidc-provider/op/storeadapter/inmem | Reference / dev / test store. |
github.com/libraz/go-oidc-provider/op/storeadapter/sql | SQLite / MySQL / Postgres durable store. Sub-module — keeps DB drivers out of your go.sum until you opt in. |
github.com/libraz/go-oidc-provider/op/storeadapter/redis | Volatile substores (interactions, consumed JTIs). Sub-module. |
github.com/libraz/go-oidc-provider/op/storeadapter/composite | Hot/cold splitter. |
Sub-modules
The SQL and Redis adapters are published as Go sub-modules. You only pay the driver dependency cost on the modules that actually use them.
Pre-v1.0
The library is pre-v1.0. Public API may change in any minor release until v1.0.0. Breaking changes are tracked in CHANGELOG.md. APIs whose godoc starts with Experimental: may change without a major bump even after v1.0.
Next
- Minimal OP — 30 lines, runnable with
go run. - Required options — what
op.Newmust receive to refuse to start in an unsafe configuration. - Mount on your router — how to put the handler on
net/http,chi, orgin.