iOS上实现单点登录(SSO)

苹果移动设备iPhone,iPad等从iOS 7.0以后支持企业级SSO。根据测试情况,有如下要点信息:

1. iOS Enterprise SSO基于Kerberos登录认证。iOS内置有Kerberos客户端,可以实现从KDC(Key Distribution Center)获取TGT(Ticket Granting Ticket)。内置Kerberos客户端目前采用了Heimdal的代码;

2. iOS的SSO实现需要安装配置描述文件(Profile),该Profile须配置名为com.apple.sso的PayloadType,具体可参见苹果官网的技术文档:Configuration Profile Key Reference,另外这篇文章对此也有较好的解释。安装此配置文件后,例如通过Safari浏览器访问配置了Kerberos认证的站点,则系统会弹出如下窗口:

iOS-Kerberos-SSO

在上述窗口输入正确密码后,iOS系统可从KDC获取TGT票据,从而实现登录认证。随后打开其他基于同一Realm的站点,或者在Hybrid App(App的Bundle Identifier须添加在前述Profile的AppIdentifierMatches中)的WebView中访问同一Realm内的站点,均可以实现SSO。

3. iOS也可实现跨App的SSO(Cross App SSO),对此需要打通App实现登录信息共享。目前市场上主流的EMM产品如MobileIron, AirWatch, Fiberlink(An IBM Company) Maas360等,可以利用打包App的安全Container实现此功能。

One Reply to “iOS上实现单点登录(SSO)”

Leave a Reply

Your email address will not be published. Required fields are marked *