iOS 7中的单点登录(SSO)

25

我有一个关于iOS 7中的一个新功能-单点登录的问题。

有没有关于它的详细信息?有人已经尝试过它来实现吗?我搜索了很多文章和文档-但没有找到任何有用的信息。我在Apple和开发人员Apple资源中也没有找到任何详细信息。在iOS 7 GM版本中没有单点登录的视觉设置(我不确定是否应该在那里)。

因此,我的问题是-有人已经调查过它,或者有人可以分享一些链接和有用的信息吗?有没有关于这个功能的技术描述,并且在iOS 7 GM中是否存在。

提前感谢。


2
不是。SSO是iOS 7中的一项新本地功能。 http://www.apple.com/ios/business/ - 这是一个链接到新iOS 7功能的页面,您可以在其中找到以下内容: 企业单点登录。 现在,身份验证企业应用程序就像只需进行一次操作一样简单。企业单点登录(SSO)意味着用户凭据可以在包括来自App Store的应用程序在内的多个应用程序之间使用。每个配置了SSO的新应用程序都会验证用户对企业资源的权限,并在无需重新输入密码的情况下将用户登录。 这类似于多个应用程序的单一登录。是否有关于它的详细信息? - Anton Holub
你找到关于这个的任何信息了吗?我正在试图获取一些东西。苹果公司的营销段落并没有帮助。 - Steven
Steven,很遗憾没有找到任何东西...如果我找到了什么,我会在这里评论...希望你也能这样做 ;) - Anton Holub
@Steven,你的链接已失效。 - Heath Borders
1
@HeathBorders 不是这样的。您需要拥有一个苹果开发者账户才能查看内容。我刚刚检查了一下,我可以看到它。 - Steven
显示剩余4条评论
3个回答

14

这是另一个为Safari设置此项的好链接:http://samuelyates.wordpress.com/2013/10/11/kerberos-single-sign-on-in-ios-7/ - Aardvark

10
为了让 iOS7 上的 SSO(Kerberos)正常工作,您需要以下三个条件:
  1. 在服务器端:配置 Kerberos 环境 + HTTP SPNego/Kerberos 身份验证。iOS 中的 SSO 仅适用于 HTTP(S)。

  2. 包含以下内容的配置文件:

    • [必填] 您的 Kerberos 领域。
    • [必填] 您的 Kerberos 主体(通常为用户名),如果留空,则用户在安装配置文件时将被要求指定它。
    • [必填] 可以使用 SSO 的页面的 URL 前缀列表。无法在此处使用通配符,如果前缀不以斜杠字符结尾,则会自动添加。
    • [可选] 允许使用 SSO 的 bundle ID 列表,如果为空,则允许所有应用程序。可以在 bundle ID 中使用通配符。
  3. 支持 SSO 的应用程序,Safari 和 WebKit(UIWebView 类)都支持。如 WWDC 2013 Session Videos number 301 所述,您必须使用 NSURLConnection 或 NSURLSession 类。下面是使用 SPNego 方案进行身份验证时的 HTTP 流量的简化示例:

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

服务器: 401 未授权

+header WWW-Authentificate: Negotiate

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

+header Authorization: Negotiate [SPNegotInitToken]

服务器: 200 正常

+header Authorization: Negotiate [SpnegoTargToken]

收到“WWW-Authenticate”后,如果尚未授予/过期Kerberos票据,则会出现提示输入Kerberos密码的对话框。 Obj-C类将自动处理所有重定向和身份验证过程,因此您唯一需要做的就是向登录URL发送请求并在配置文件中允许此URL。

+header set-cookie [SESSIONID]

会设置会话cookie。


2

3
您提供的链接是iOS 5和Twitter的链接。作者要求的是本地支持iOS 7的信息。我也在寻找这些信息。 - Steven

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接