iOS 7中的单点登录(SSO)

时间:2013-09-15 14:32:10

标签: ios single-sign-on ios7

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

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

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

提前致谢。

3 个答案:

答案 0 :(得分:14)

我建议观看WWDC 2013 Session 301 "Extending Your Apps for Enterprise and Education Use"

此外,有关此功能的实现的概述this site有帮助。

最后,这是Apple's documentation (available to developers)。查找标题:单点登录帐户有效负载。

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

答案 1 :(得分:10)

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

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

  2. 配置文件包含:

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

  4.   

    客户:获取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。

答案 2 :(得分:2)

企业单点登录允许用户在其设备上登录一次,并允许设备上的所有应用程序使用它进行身份验证。如果是Twitter,下面的链接对您有用,

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

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