首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在防火墙后使用ADFS验证混合移动应用程序

在防火墙后使用ADFS验证混合移动应用程序
EN

Stack Overflow用户
提问于 2013-08-18 03:03:45
回答 2查看 2.6K关注 0票数 1

我们计划使用Kendo Mobile (Phonegap+Javascript)开发和企业平板电脑应用程序。应用程序所需的所有服务都将使用ASP.NET Web API技术进行开发,并且它们需要得到保护。

用户平板电脑应用程序需要使用公司防火墙后的ADFS进行身份验证。我们可以在Azure网络和企业网络之间打开站点到站点VPN隧道,以允许从Azure上的服务层访问ADFS。

平板电脑将无法通过VPN连接到企业网络。现在的问题是,我们如何使用SAML通过ADFS对移动用户进行身份验证?阅读了大量有关主动/被动身份验证方案的内容,但它们需要直接从平板电脑访问ADFS。既然我们不能,我们可以在Azure上有一个身份验证服务,它可以通过VPN隧道与ADFS通信,并向平板电脑和使用该令牌的平板电脑提供一些令牌来与受保护的服务通信?

我将感谢任何经历过同样问题的人,以及您如何解决

EN

回答 2

Stack Overflow用户

发布于 2013-08-18 11:13:37

我假设你的应用程序接口(基于WebApi)是托管在Azure上的,对吧?

从移动客户端中的STS获取令牌,通常涉及将身份验证委托给web浏览器(使用被动简档),然后提取令牌,然后令牌变得可用。对于不支持“活动配置文件”(可以在其中发送客户端凭据和接收安全令牌交换的端点)的STS来说,通常就是这种情况。ADFS支持这一点(通过WS-Trust),但是您不希望ADFS暴露给internet (您可以这样做,并且ADFS在不需要VPN的情况下具有特定的作用)。

此技术在this sample中进行了说明。PhoneGap很可能会有一个等价物。

A(更简单?)在你的案例中,方法可能是获得一个might AD ( WAAD )帐户,并使用DirSync在那里同步你的AD,然后使用WAAD作为STS (代替ADFS)。WAAD根据定义是暴露在互联网上的,所以你不需要VPN或任何东西。最新版本的DirSync也将同步密码散列。它的架构类似于in this blog post所描述的架构。(参见页面底部的图表,将任何打包的应用程序替换为您自己的API)。

但是,我不是100%确定Azure AD是否支持WS-Trust (我上次检查时并没有这么做)。因此,您可能需要使用我之前描述的技术(使用浏览器)。

在任何情况下,一旦获得令牌,就会将其发送到API。保护WebApi端点可能涉及到使用JsonWebTokenHandler。available here就是一个这样的例子。

最后注意:您可能希望考虑使用Windows Azure移动服务。你看过了吗?

票数 1
EN

Stack Overflow用户

发布于 2014-02-27 05:10:45

这似乎是一个基本的ADFS架构问题,与平板电脑、移动设备、phonegap或依赖方完全无关。我认为您遗漏的是,您应该让您的ADFS服务器位于防火墙后面,每个人都完全无法访问。然后,您在DMZ中设置了一个代理,您的客户端可以与之通信,然后该代理就可以与您的ADFS服务器通信。

请记住,联合登录的最大好处之一是安全令牌可以来自网络之外的某个地方(例如,来自合作公司或google、Microsoft、facebook等)。它的目的是设置您的服务器,使人们可以从您的网络外部发起请求。如果不是这样的话,ADFS的价值将会大大降低。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18292362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档