Gitea as an IdP
GiteaをIdPとして使うと便利というメモです。
設定は特に書いてないですが、ちゃんと動いたという備忘録として。
目的
運用を楽に!
- OAuth2-Proxyを使って、ちょっとしたツールアプリをユーザ管理・認証から解放する
- 各種アプリ(例えばMinIOとか)等のセットアップでそれぞれのユーザ管理の手間を省く
手法
OpenID Connect のIdPとしてGiteaを使う
登場人物
- Gitea
- セルフホストなGitHubクローンっぽいやつ。今回はIdPとして使う。検証時は1.23.5。
- OAuth2-Proxy
- OAuth2で認証するプロキシサーバ。こちらも検証時はv7.8.2。
Why
- シングルバイナリで動くので、デプロイが楽
- いささかオーバースペックは否めないが、Giteaのユーザ管理は優れている
- ユーザ管理が楽
- パスキーも使える
- OAuth2-Proxyのサンプルに使われているので、実績がある
- Giteaからさらに他のIdPに委譲することもできる
- 当然、Gitea自体のID/PW認証も使える
ワンポイント
IdPとして使う場合の、Giteaのエンドポイント設定は以下の通り。
| Endpoint | URL |
|---|---|
| OpenID Connect Discovery | /.well-known/openid-configuration |
| Authorization Endpoint | /login/oauth/authorize |
| Access Token Endpoint | /login/oauth/access_token |
| OpenID Connect UserInfo | /login/oauth/userinfo |
| JSON Web Key Set | /login/oauth/keys |