2017-04-26 105 views
0

我正在验证我们是否可以访问内部的预置型服务,通过Azure的应用程序代理暴露于外部,在客户端代码。事情访问Azure的应用程序代理服务从SharePoint Online中

结构 1.内部服务 2. Azure的应用程序代理露出内部服务外部 3. SharePoint Online的页面 - 在这个页面上,我试图验证我是否能够通过应用代理

访问服务

流量 1.用户的迹象,到SharePoint Online网站 2.导航到一个页面,从蔚蓝的应用代理服务中提取数据 3.用户应该能看到内部业务数据经过通过Azure的应用程序代理无需任何身份验证挑战

上述流程可能吗?我尝试了同样的方式,并且在状态码为307的情况下停止对Azure应用程序代理的调用。我怀疑该调用被视为未认证,因此失败。

看了一眼传递的各种饼干,当我访问SharePoint Online - FedAuth和rtfa

看了一眼传递的各种饼干,当我访问Azure的应用程序代理通过登录直接一旦认证 - AzureAppProxyUserSessionCookie,ASP。 NET_SessionId,AzureAppProxyAccessCookie

考虑有不同的一组Cookie每个认证的会话的,我怀疑,所需流量是合理的。

+0

的'307'重定向预期,它与认证问题无关。 Azure AD会将此请求重定向到Azure应用代理(请参阅[这里](https://blogs.technet.microsoft.com/applicationproxyblog/2015/11/09/azure-ad-application-proxy-http-to- HTTPS重定向/))。为了缩小这个问题,您可能需要检查Azure应用代理是否工作良好,方法是引用[此链接](https://docs.microsoft.com/en-us/azure/active-directory/active-directory-application -proxy解决的)。 –

+0

谢谢菲。 Azure App代理工作正常。所以如果我通过使用它的url直接在浏览器中访问它,我会遇到身份验证挑战。发布身份验证后,我能够成功查看来自应用代理的结果。我想要从客户端代码中使用相同的工具。 –

+0

你介意分享有关**客户端代码**的更多细节吗?根据我的理解,Azure应用程序代理需要使用HTTP/HTTPS协议(请参阅[应用程序代理先决条件](https://docs.microsoft.com/en-us/azure/active-directory/active-directory-application -proxy启用))。 –

回答

0

目前,天青应用代理只允许预认证用户。为此,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

相关问题