iOS 7中的单点login(SSO)

我对iOS 7的新function之一 – 单点login有疑问。

有没有关于它的详细信息? 有人已经尝试过实施吗? 我search了很多文章和文档 – 但没有发现任何有用的。 我也没有find任何关于苹果和开发者苹果资源的详细信息。 iOS 7 GM版本中没有对SSO的可视化设置(我不确定是否应该在那里)。

所以我的问题是 – 有人已经调查过,可能有人可以分享一些链接和有用的信息? 有没有这个function的技术说明,是否存在一些如何在iOS 7 GM?

提前致谢。

我build议您观看WWDC 2013第301会议“扩展您的企业和教育应用”

此外,对于此function的实现的概述, 此站点有所帮助。

最后,这里是苹果公司的文档(供开发人员使用) 。 查找标题:单一login帐户有效负载。

在设备上configurationSSO需要Apple Configurator安装用于SSOconfiguration文件的OTA传送的configuration文件或MDM解决scheme。

为了使SSO(Kerberos)在iOS7上工作,你需要3件事情:

  1. 在服务器端:configurationKerberos环境+ HTTP SPNego / Kerberosauthentication。 iOS中的SSO仅适用于HTTP(S)。

  2. configuration文件包含:

    • [Obligatory]你的Kerberos领域。
    • [必须]你的Kerberos主体(通常是用户名),这可以留空 – 在这种情况下,用户将被要求在configuration文件安装过程中指定它。
    • [必须]允许使用SSO的页面的URL前缀列表。 这里不能使用通配符,如果前缀不以斜杠结尾,则会自动附加。
    • [可选]允许使用SSO的软件包ID列表(如果允许所有应用程序都为空)。 捆绑ID中的通配符可以使用。
  3. 支持它的应用程序,Safari和WebKit(UIWebView类)都可以。 如WWDC 2013会话video301所述,您必须使用NSURLConnection或NSURLSession类。 这是使用SPNegoscheme进行身份validation时HTTPstream量的简化示例:

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

服务器:401 Unathorized

+标题WWW-Authentificate:协商

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

+标题授权:协商[SPNegotInitToken]

服务器:200 OK

+头授权:协商[SpnegoTargToken]

+ header set-cookie [SESSIONID]

收到“WWW-Authentificate”后,将出现提示inputKerberos密码的对话框(如果Kerberos票证尚未授权/过期)。 Obj-C类将自动处理所有redirect和身份validation过程,因此您唯一需要的是向loginURL发出请求并在configuration文件中允许此URL。

企业单一login允许用户在其设备上login一次,并让设备上的所有应用程序使用它进行身份validation。在Twitter的情况下,下面的链接将是有用的,

https://dev.twitter.com/discussions/8231

http://eflorenzano.com/blog/2012/04/18/using-twitter-ios5-integration-single-sign-on/