我正在使用Docker设置一些服务,Traefik 2充当这些服务的反向代理。 到目前为止,我一直在使用基本身份验证来保护对服务的访问,但是我试图摆脱用户/通过提示。
查看Traefik的文档,发现中间件“ ForwardAuth ”看起来不错。我打算用它代替Basic Auth,但是没有提供完整的实现示例作为示例,并且尝试设置它时很困难。
到目前为止,由于有了Traefik forward-auth,我已经成功地在负责身份验证的远程服务器上调用了特定的URL(该服务器是我自己使用Spring Boot开发的)。我知道,如果认证服务器回答200,则表示“认证成功”,而另一个代码则表示“认证失败”。 但是,我目前无法在远程服务器上编写身份验证代码,因为我不知道如何检查是否必须返回200或其他值。特别是我不知道如何在Traefik和身份验证服务器之间传递信息。
基本上,我遇到的问题是:
下图显示了我的大部分担忧:
我想要实现的是以下行为:
到目前为止,我可以成功实现步骤1至5,但是我不知道如何实现步骤6。
这是使用ForwardAuth的正确方法吗? 如果是,是否必须使用某些标头来传输身份验证信息?如果没有,使用ForwardAuth是否可以实现我想要的?