我对iOS 7中的一项新功能 - 单点登录有疑问。
有没有关于它的详细信息?有人已经尝试过实施吗?我搜索了很多文章和文档 - 但没有发现任何有用的东西。我也没有找到关于Apple和Developers Apple资源的任何详细信息。在iOS 7 GM版本中没有SSO的可视化设置(我不确定它是否应该存在)。
所以我的问题是 - 有人已经调查了它,可能有人可以分享一些链接和有用的信息吗?是否有关于此功能的任何技术说明,是否存在iOS 7 GM中的某些功能?
提前致谢。
答案 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上运行,您需要做三件事:
在服务器端:配置Kerberos环境+ HTTP SPNego / Kerberos身份验证。 iOS中的SSO仅适用于HTTP(S)。
配置文件包含:
支持它的应用程序,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。
答案 2 :(得分:2)
企业单点登录允许用户在其设备上登录一次,并允许设备上的所有应用程序使用它进行身份验证。如果是Twitter,下面的链接对您有用,
https://dev.twitter.com/discussions/8231
http://eflorenzano.com/blog/2012/04/18/using-twitter-ios5-integration-single-sign-on/