ADFS 2.0 SAML 登录我的本机移动应用程序



我正在尝试在我的安卓应用程序中使用 SAML 进行有效的 ADFS 2.0 身份验证?(事实上,我都需要安卓和iO(

为了提供视角,我们的应用使用链接 https://sts.mycompany.com/adfs/ls/Idpinitiatedsignon.aspx?logintoRP=https://mydemo.azurewebsites.net/使用 ADFS 2.0 进行身份验证。这实际上呈现了一个由 adfs 服务器提供的 html 页面,用于凭据,提交后,我们破译服务器响应以收集 SAML 令牌以发送到我们的 Web 服务。我们的网络服务有一种方法可以使用 ADFS 对 saml 令牌进行身份验证,然后为 ios 应用程序提供适当的响应。如果我们的服务为 ios 应用程序提供未授权状态,我们会提示用户使用 webview 重新登录。大多数情况下,当用户更改密码时会发生这种情况。这行得通,但这是正确的方法吗?我们尝试使用自定义本机登录来执行此操作,但 adfs 服务器没有提供 SAML 令牌,当我们询问专家时,我们得到了一个意见,即不应篡改 ADFS 登录呈现机制。

问题是,html页面不是一个很好的用户体验。 iOS/Android邮件应用程序连接到Office 365邮件(可能是MS Exchange(并使用本机UI要求登录,并要求在一定间隔内重新登录,从而提供流畅无缝的体验。在我们的场景中是否有可能实现相同的目标?我的假设是邮件应用程序通过使用交换协议连接到交换服务器。如果 Exchange 绑定到 ADFS,则该绑定/身份验证发生在交换服务器和 ADFS 之间。我的假设正确吗?

我们的限制是我们希望仅使用 ADFS 2.0 和 SAML 来实现这一点。

对于Summeraize来说,问题陈述是:

目标不是改进当前的HTML登录表单,而是尝试提供集成登录,其中移动应用程序预填充了用户电子邮件,仅在每40天重置一次密码时使用,这就是O365上的iPhone/Android电子邮件的工作方式,我们正在寻找类似的方法来获得连贯和无缝的用户体验

T&R

N

问题是您使用的是 ADFS 2.0。

另外,为什么它必须是SAML?

使用ADFS 3.0(在有限的程度上(和ADFS 4.0,您可以通过ADAL使用OpenID Connect/OAuth,这将为您提供所需的体验。

在 ADFS 2.0 中,唯一的其他身份验证方法是通过 WS-Fed 活动配置文件(即 WCF(。

最新更新