Skip to content

インストール ​

sh
go get github.com/libraz/[email protected]

SQL / Redis / DynamoDB のストアアダプタサブモジュールを使う場合は、同じタグに揃えてください:

sh
go get github.com/libraz/go-oidc-provider/op/storeadapter/[email protected]
go get github.com/libraz/go-oidc-provider/op/storeadapter/[email protected]
go get github.com/libraz/go-oidc-provider/op/storeadapter/[email protected]

本モジュールは Go 1.26.0 以上を要求します(go.mod は go 1.26.0 を宣言)。リリースは toolchain go1.27.3 に固定してビルド・テストしています。プロジェクト CI と同じ TLS / 依存関係のセキュリティ基準に揃えたい場合は、この toolchain 以上を使ってください。

パッケージとサブモジュール ​

import パスimport するタイミング
github.com/libraz/go-oidc-provider/op常に。公開 API です。
github.com/libraz/go-oidc-provider/op/storeadapter/inmem参考実装、開発、テスト用のストア。メインモジュールに含まれます。
github.com/libraz/go-oidc-provider/op/storeadapter/sqlSQLite / MySQL / Postgres 用の永続ストア。サブモジュールなので、使うまで DB ドライバは go.sum に入りません。
github.com/libraz/go-oidc-provider/op/storeadapter/redis揮発性サブストア(セッション、interaction、消費済み JTI)。composite 経由で永続ストアと組み合わせます。サブモジュール。
github.com/libraz/go-oidc-provider/op/storeadapter/dynamodbDynamoDB 用ストア。サブモジュールなので、使うまで AWS SDK は go.sum に入りません。
github.com/libraz/go-oidc-provider/op/storeadapter/compositeHot / Cold 分離。永続サブストアと揮発サブストアを別々のバックエンドに振り分けます。メインモジュールに含まれます。

サブモジュール

SQL、Redis、DynamoDB のアダプタは Go サブモジュールとして公開しています。実際に使うモジュールだけがドライバや AWS SDK の依存を持ちます。

安定性 ​

v1.5.0 は既定値を変え、同じ役割を複数の名前で持っていたオプションを 1 つにまとめています。どの構成でも、更新前に CHANGELOG.md の v1.5.0 冒頭にあるチェックリストを確認してください。旧名と新しい名前の対応と、op.New が拒否するようになった構成がまとめてあります。

SQL アダプタを使っている場合は、新しいリリースを動かす前に、Store.Migrations() の migration ファイル(説明は MIGRATIONS.md)を適用してください。適用は migration ツールで行うか、デプロイのジョブから Store.Migrate(ctx) を 1 回呼びます。Migrate は同じファイルを順に適用し、golang-migrate 互換のバージョンテーブルに進捗を記録します。Store.Schema() は現行の完全なスキーマを返す参照用です。設定が使うテーブルに必要な列がなければ op.New が起動を拒否します。

godoc が Experimental: で始まるシンボルは、マイナーリリース間の互換性保証の対象外です。現在の一覧は生成済みの experimental API の一覧 にあります。現在の対象は Grant Management(op.GrantManagementAction と op.WithGrantManagement)、Client ID Metadata Document(op.WithClientIDMetadataDocuments)、JWT bearer grant と token exchange の ID-JAG プロファイル、Shared Signals で配信する RISC のイベント型(op.AccountDisabled など)です。いずれも、通信形式がまだ変わり得るドラフト段階の仕様に従っているためです。

それ以外はすべて SemVer の保証の対象です。ログインとインタラクションの面(op.LoginFlow、op.WithLoginFlow、op.WithInteractions、op.WithUI と op.HTMLUI・op.SPAUI・op.DriverUI、op/interaction パッケージ)と、DynamoDB アダプタ(op/storeadapter/dynamodb)も含まれます。

次へ ​