oauth2-proxy
跳转到导航
跳转到搜索
oauth2-proxy是一套绑定SSO(Single Sign-on)认证的工具。
安装
这边建议安装在service使用者帐号下,或是/srv
下:
export OAUTH2_PROXY_VERSION=7.5.1; wget -c https://github.com/oauth2-proxy/oauth2-proxy/releases/download/v${OAUTH2_PROXY_VERSION}/oauth2-proxy-v${OAUTH2_PROXY_VERSION}.linux-amd64.tar.gz; tar xvf oauth2-proxy-v${OAUTH2_PROXY_VERSION}.linux-amd64.tar.gz; mkdir oauth2-proxy; cd oauth2-proxy; ln -s ../oauth2-proxy-v${OAUTH2_PROXY_VERSION}/oauth2-proxy
设定
另外在oauth2-proxy/oauth2-proxy.conf
里面设定。其中
cookie_secret
可以用官方建议的openssl rand -base64 32 | tr -- '+/' '-_'
产生。email_domains
表示只有这个网段下面的使用者才能存取系统。http_address
表示服务的接点(像是给nginx用)。upstreams
表示后端的接点(像是接到etcd-adminer)。client_id
与client_secret
则是由Google产生给的值。
#
cookie_secret = "x"
cookie_secure = true
email_domains = ["example.com"]
http_address = "127.0.0.1:8002"
upstreams = ["http://127.0.0.1:8001/"]
#
client_id = "x"
client_secret = "x"
接下来是塞systemd的设定,这边是用user systemd的设定方式(所以是default.target
),负责保护etcd-adminer,所以设定放到~/.config/systemd/user/oauth2-proxy.service
这边:
#
[Unit]
Description=oauth2-proxy for etcd-adminer
[Service]
ExecStart=/home/service-etcd-adminer/oauth2-proxy/oauth2-proxy --config=/home/service-etcd-adminer/oauth2-proxy/oauth2-proxy.conf
Restart=on-failure
RestartSec=60
Type=simple
[Install]
WantedBy=default.target
然后重读systemd设定并且启动:
systemctl --user daemon-realod; systemctl --user enable --now oauth2-proxy.service