首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用SFAuthenticationSession在iOS 11中创建单点登录

使用SFAuthenticationSession在iOS 11中创建单点登录
EN

Stack Overflow用户
提问于 2017-09-25 21:00:15
回答 1查看 2.4K关注 0票数 3

我正在开发两个iOS应用程序,它们共享用户登录时收到的相同的密钥链令牌--通过在web视图中输入他的用户名和密码进入其中任何一个应用程序。保存在密钥链中的令牌有几个小时/天的时间限制--当用户使用该应用程序并请求/输入正在浏览器中打开的项时,它们将被刷新。

在iOS 11发布之前,应用程序中的web视图是一个SFSafariViewController实例,它非常方便,因为它在应用程序之间共享cookie,一旦用户登录--在一个应用程序中的浏览器中,他将自动登录--进入另一个应用程序,从而实现单点登录体验。

在iOS 11中,SFSafariViewController的行为发生了变化,它不再在我的两个应用程序中的不同SFSafariViewController实例之间共享cookies。相反,苹果希望我们使用SFAuthenticationSession来实现同样的行为。

在我的应用程序中,我有一个大约50行的表,几乎所有行都在SFSafariViewController中打开一个不同的URL。因此,现在,在iOS 11中,我需要每次创建一个新的SFAuthenticationSession实例(在创建实例后不能更改SFAuthenticationSession),为了实际显示web视图,我需要在这个实例上调用start()方法。但是,这个方法只能在同一个实例上调用一次(否则它将返回'false‘而什么也不做),而且每次调用它时,它都弹出通知"myapp“希望使用"mydomain.com”登录。因此,这意味着我的用户在表中的每一行上都会看到这个警告消息。

有没有办法让我的应用只显示一次同意警告信息,例如在第一次或什么时候?我希望我的用户在我的两个应用程序中有单点登录体验,这就是为什么我一开始就使用SFSafariViewController,但我不希望他们在应用程序中的每一个点击中都看到这个恼人的警告。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-29 10:04:52

目前没有办法只使用SFAuthenticationSession显示一次警报消息,我们的应用程序也遇到了同样的问题。

我和其他许多人一起向苹果公司提交了一个bug,要求他们按照你的建议只展示一次。这个GitHub线程的末尾讨论警报。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46414099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档