我正在为一家公司开发应用程序,但我在安全措施方面遇到了一些问题,并与Azure ADAL library结合使用。
出于安全考虑,他们与微软的人员一起设置了ADFS身份验证服务器。因此,我的网络服务只能由身份验证服务器提供的令牌进行访问。
我使用adal库来获取此身份验证令牌,并且在网络中我访问Web服务时没有任何问题。
对于网络外部,我需要通过代理,这使用反向代理。对于反向代理上的身份验证,您还需要对ADFS身份验证服务器进行身份验证。
这是一张图片,可以更好地解释一下:)
对于内线手机
- 将身份验证请求发送到adfs身份验证服务器。
- 取回授权令牌。
- 使用身份验证令牌
向Web服务发送数据请求
醇>
适用于外线手机
- 将身份验证请求发送到内部adfs身份验证服务器。这需要通过反向代理。
- 反向代理会看到您未经过身份验证,并且会在允许您通过之前首先通过外部adfs身份验证服务器进行身份验证。
- 此身份验证将在httpclient中添加一个cookie,以便它知道该请求已经过身份验证。
- 现在它将请求身份验证令牌,并且因为它在请求中包含cookie,所以它不再需要身份验证。
- 它会将令牌返回给手机。
- 我现在正在尝试从请求中使用令牌从Web服务请求一些数据。但是Azure ADAL library内的我无法访问Cookie ,将其添加到请求以通过反向代理。所以反向代理会阻止我而不是数据响应我会将反向代理的登录页面作为html字符串返回。
醇>
所以我想解决的问题是我无法访问Azure ADAL library内的Cookie,或者我还没有看到任何其他修复。