【发布时间】:2017-09-24 13:09:55
【问题描述】:
我正在验证我们是否可以在客户端代码中访问通过 Azure App Proxy 向外部公开的内部本地服务。
事物的结构 1. 内部服务 2、Azure App Proxy对外暴露内部服务 3. SharePoint Online 页面 - 在此页面上,我尝试验证是否可以通过应用代理访问服务
流动 1. 用户登录 SharePoint Online 网站 2. 导航到从 azure 应用代理服务中提取数据的页面 3. 用户应该可以看到通过 Azure App Proxy 传递的内部服务的数据,而无需任何身份验证挑战
上述流程可行吗?我尝试了相同的方法,但在对 Azure App Proxy 的调用停止并显示状态码 307 时失败。我怀疑该调用被视为未经身份验证,因此失败。
查看了我访问 SharePoint Online 时传递的各种 cookie - FedAuth 和 rtfa
查看了当我直接访问 Azure App Proxy 并通过登录进行身份验证时传递的各种 cookie - AzureAppProxyUserSessionCookie、ASP.NET_SessionId、AzureAppProxyAccessCookie
考虑到每个经过身份验证的会话都有不同的 cookie 集,我怀疑,所需的流程是合理的。
【问题讨论】:
-
谢谢飞。 Azure 应用代理工作正常。因此,如果我使用它的 url 在浏览器中直接访问它,我会收到身份验证挑战。身份验证后,我可以成功地看到应用代理的结果。我希望在客户端代码中使用相同的工具。
-
您介意分享更多关于客户端代码方法的细节吗?根据我的理解,Azure 应用代理需要使用 HTTP/HTTPS 协议(参考Application Proxy prerequisites)。
-
这是从 SharePoint Online 网页到 Azure 应用代理 URL 的 jQuery ajax 调用。
标签: azure proxy azure-active-directory sharepoint-online