从SharePoint Online访问Azure应用代理服务

时间:2017-04-26 23:00:54

标签: azure proxy azure-active-directory sharepoint-online

我正在努力验证我们是否可以在客户端代码中访问通过Azure App Proxy外部公开的内部本地服务。

事物的结构 1.内部服务 2. Azure App Proxy从外部公开内部服务 3. SharePoint Online页面 - 在此页面上,我尝试验证是否可以通过app proxy访问该服务

流量 1.用户登录SharePoint Online站点 2.导航到从azure app proxy服务中提取数据的页面 3.用户应该看到来自内部服务的数据通过Azure应用程序代理传递而没有任何身份验证质询

上述流程是否可行?我尝试了相同的操作,但在使用状态码307停止对Azure App Proxy的调用时失败了。我怀疑该调用被认为是未经身份验证的,因此失败了。

查看我访问SharePoint Online时传递的各种cookie - FedAuth和rtfa

查看我直接访问Azure App Proxy并通过登录进行身份验证后传递的各种Cookie - AzureAppProxyUserSessionCookie,ASP.NET_SessionId,AzureAppProxyAccessCookie

考虑到每个经过身份验证的会话都有不同的cookie集,我很怀疑,期望的流程是合理的。

1 个答案:

答案 0 :(得分:0)

目前,Azure应用代理仅允许预身份验证用户。为此,Azure应用程序代理需要从Azure AD颁发的令牌进行身份验证。当您从SharePoint在线页面发起来自jQuery ajax调用的请求时,它不包含所需的令牌。

因此,它取决于在发送请求之前是否可以从AJAX调用中获取令牌。您可以尝试捕获身份验证请求的请求,并在隐藏IFrame中构建请求,以查看是否可以模拟获取令牌的进度。

有关连接器的更多详细信息,请参阅以下链接:

How to provide secure remote access to on-premises applications

出于安全考虑,本文档很有帮助:

Security considerations for accessing apps remotely with Azure AD Application Proxy