【发布时间】:2021-03-14 11:02:12
【问题描述】:
我正在尝试使用 asp.net 核心实现 AuthProxy。
我有一个需要登录的网络应用程序(服务 A)。客户端获取令牌以使用服务器 API。此外,我还有另一台服务器(在我的情况下是服务器 B - Grafana),它也需要身份验证,但当它在其文件请求中获取特定标头时可以被覆盖。
在我的应用程序中,登录后,用户按下某个选项卡并看到我的服务器 B UI 的iframe。
我附加了一个authKey 参数等于用户令牌,用于在服务器(服务器A)中验证它。例如。
localhost:1234/proxy?authKey=1234
在服务器 A 中,我开发了一个 ReverseProxyMiddleware (as explained here) 捕获以 /proxy 开头的 request.Path 并将其重写到服务器 B (Grafana),并根据 @987654328 附加标头值@我们之前收到的(算法正在应用于此authKey)。
这个新的 uri(Grafana 服务器)正在嵌入并动态调用以分配必须具有此标头的 url不要再获得授权了..
我的中间件中的每个调用方法都彼此分开运行,我不知道它们都来自同一个会话。
有什么想法可以实现我想要的吗?
【问题讨论】:
-
重写时可以带cookie吗?
-
我昨天刚去睡觉,也想到了这个想法。我不是来自服务器世界 - 更多的是客户端开发人员。无论如何!现在试了一下。和繁荣!像魅力一样工作!
标签: asp.net-core authentication reverse-proxy grafana asp.net-core-middleware