authentik与oauth2-proxy集成

前言

最近我尝试将我站点上的一堆需要密码的软件全部进行修改,搞一个统一身份认证。最终我决定了使用authentik这个软件来做为统一身份认证的软件,刚好我以前有些网站界面是使用的HTTP Basic Authentication来进行的保护,索性我就直接使用oauth2-proxy对要认证的网站进行反向代理并认证,从而进行安全保护,oauth2-proxy会从我的authentik中获取授权数据,然后进行放行。

所以这一片文章我就会介绍下authentik与oauth2-proxy如何进行集成。当然,要集成之前首先要确保你的authentik与oauth2-proxy是安装好的。

authentik配置

在管理员界面的左侧栏中选中应用程序,然后选择”CREATE with Provider”

在配置界面输入好名称、slug以后,在“选择提供程序”这个板块中,我们选择Oauth2/OpenID Provider这个选项

在“配置提供程序”这个界面,输入同样的名称,授权流程选择默认的授权流程或者是自己在authentik中自定义的流程,并且客户端类型选择“机密”类型(如下图)

接下来一路选择下一步,保存,创建完毕。

接下来请前往左侧提供程序栏目,选中 provider for “你刚刚输入的名字” 这个提供程序,选择编辑

点进去,复制好OpenID 配置颁发者下面的URL链接

然后再点击页面中的”编辑”按钮,从弹出的窗口中获取到客户端ID以及客户端Secret

获取到上面三个信息以后,我们就要来配置oauth2-proxy这个软件了

oauth2-proxy配置

我这边是以shell命令方式启动的oauth2-proxy的,如果你使用的是docker部署的话,请修改对应的环境变量。

我们打开oauth2-proxy的启动命令,请修改启动命令如下

oauth2-proxy --provider="oidc" \
    --redirect-url="https://网站的地址/oauth2/callback" \
    --client-id=上方获取到的客户端ID \
    --client-secret=上方获取到的客户端的密钥 \
    --cookie-secret=这里随便的一个什么一个字串符做密钥就可以了 \
    --oidc-issuer-url=填写上方获取到的OpenID 配置颁发者URL链接" \
    --email-domain=* \
    --upstream="要被反向代理的站点的地址"\
    --cookie-secure=false \
    --reverse-proxy=true \
    --cookie-expire=240h0m0s \
    --upstream-timeout=600s \
    --request-logging=true \
    --http-address="监听的站点地址" \

接下来启动,完成登录,大功告成!

感谢阅读

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,记得载明出处。
内容有问题?想与我交流下?点此哦,欢迎前来交流~
上一篇
下一篇