iOS 7中的单点登录(SSO)

Ant*_*lub 25 single-sign-on ios ios7

我对iOS 7中的一项新功能 - 单点登录有疑问.

有没有关于它的详细信息?有人已经尝试过实施吗?我搜索了很多文章和文档 - 但没有发现任何有用的东西.我也没有找到关于Apple和Developers Apple资源的任何详细信息.在iOS 7 GM版本中没有SSO的可视化设置(我不确定它是否应该存在).

所以我的问题是 - 有人已经调查过它,可能有人可以分享一些链接和有用的信息吗?是否有关于此功能的任何技术说明,是否存在iOS 7 GM中的某些功能?

提前致谢.

小智 14

我建议观看WWDC 2013 Session 301"扩展您的企业和教育用途的应用程序"

此外,有关此功能实现的概述,此站点也有帮助.

最后,这是Apple的文档(可供开发人员使用).查找标题:单点登录帐户有效负载.

在设备上配置SSO将需要Apple Configurator安装配置文件或MDM解决方案,以便为OTA交付SSO配置文件.


Mat*_*s M 10

要使SSO(Kerberos)在iOS7上运行,您需要做三件事:

  1. 在服务器端:配置Kerberos环境+ HTTP SPNego/Kerberos身份验证.iOS中的SSO仅适用于HTTP(S).

  2. 配置文件包含:

    • [必需]你的Kerberos领域.
    • [必需]你的Kerberos主体(通常是用户名),这可以留空 - 在这种情况下,用户将被要求在配置文件安装期间指定它.
    • [Obligatory]允许使用SSO的页面的URL前缀列表.这里不能使用通配符,如果前缀不以斜杠字符结尾,它将自动附加到它上面.
    • [可选]允许使用SSO的软件包ID列表,如果为空则允许使用所有应用程序.可以使用捆绑ID中的通配符.
  3. 支持它的应用程序,Safari和WebKit(UIWebView类).如WWDC 2013会话视频编号301中所述,您必须使用NSURLConnection或NSURLSession类.这是使用SPNego方案进行身份验证时HTTP流量的简化示例:

客户:获取https://login.example.com/adfs/ls/auth/integrated/?data1=aa&data2= ...

服务器:401 Unathorized

+标题WWW-Authentificate:谈判

客户:获取https://login.example.com/adfs/ls/auth/integrated/?data1=aa&data2= ...

+标题授权:谈判[SPNegotInitToken]

服务器:200 OK

+标题授权:谈判[SpnegoTargToken]

+ header set-cookie [SESSIONID]

收到"WWW-Authentificate"后,将显示带有Kerberos密码提示的对话框(如果Kerberos票证尚未授予/已过期).Obj-C类将自动处理所有重定向和身份验证过程,因此您唯一需要的是向登录URL发出请求并在配置文件中允许此URL.