このページでわかること
- OAuth2-Proxyバイナリのbuildと起動
OAuth2-Proxy
- ライセンス: MITライセンス
- OAuth2-Proxy公式リポジトリ
- 公式ドキュメント
執筆時の環境とバージョン
- Ubuntu: 22.04
- OAuth2-Proxy: v7.13.0
参考文献
複数サイト対応(同一ドメインかつ複数サブドメイン) … Cognitoだと認証後に返すURLがどちらかのドメインになってしまうので、だめなようだ .htpasswdによるBasic認証ならOKだった
- 複数サイト対応にはサイトごとにOAuth2-Proxyを用意する必要があるので、1ドメインで/以下のURL(/zabbix > zabbix.example.com)でリダイレクト&URL書き換えで対応するとかだとOK
設定
設定方法
- ENVを使う(only on docker)
- oauth2-proxy.cfgを作成し–configで読み込ませる
- 起動時に引数で渡す
ENVで行う場合の注意点
- 以下のルールで設定
- -を_に変更
- 冒頭にOAUTH2_PROXY_をつける
- 小文字を大文字に変更
- 複数指定が可能なパラメータはSをつけて複数形に(例: OAUTH_PROXY2_EMAIL_DOMAINS)
環境構築
binary build
- golang環境を用意
snap install go --channel 1.25.0
- makefileを使ってbuild
git clone https://github.com/oauth2-proxy/oauth2-proxy -b v7.13.0 --depth 1
cd oauth2-proxy
make
make build
./oauth2-proxy --version
コンパイル済みbinaryを取得
wget https://github.com/oauth2-proxy/oauth2-proxy/releases/download/v7.13.0/oauth2-proxy-v7.13.0.linux-amd64.tar.gz
tar zxvf oauth2-proxy-v7.13.0.linux-amd64.tar.gz
mv oauth2-proxy-v7.13.0.linux-amd64/oauth2-proxy /usr/local/bin/
Dockerイメージから起動
docker pull quay.io/oauth2-proxy/oauth2-proxy:v7.13.0
compose.yml
---
services:
oauth2-proxy:
container_name: oauth2-proxy
image: quay.io/oauth2-proxy/oauth2-proxy:v7.13.0
command: --config /oauth2-proxy.cfg
hostname: oauth2-proxy
volumes:
- "./oauth2-proxy.cfg:/oauth2-proxy.cfg"
restart: unless-stopped
ports:
- 4180:4180/tcp
