多个应用程序应使用Auth2使用ios处理单个授权

多个应用程序应使用Auth2使用ios处理单个授权,ios,oauth-2.0,safari,uiwebview,sfsafariviewcontroller,Ios,Oauth 2.0,Safari,Uiwebview,Sfsafariviewcontroller,我目前正在使用Auth2处理SSO。为此,我使用了这个吊舱。我的目的是为多个应用程序提供SSO。就像用户登录“A应用”并安装“B应用”一样,对于B应用,它不应该要求再次登录。(就像facebook应用程序和facebook messanger应用程序一样有效)。为此,我采用了以下方法。(我已经在两个应用程序(即A应用程序和B应用程序)中实现了相同的Auth2代码) 1] 使用webview-但每次登录时都会发出请求(对于A应用和B应用) 2] 使用SFSafariViewController-当

我目前正在使用Auth2处理SSO。为此,我使用了这个吊舱。我的目的是为多个应用程序提供SSO。就像用户登录“A应用”并安装“B应用”一样,对于B应用,它不应该要求再次登录。(就像facebook应用程序和facebook messanger应用程序一样有效)。为此,我采用了以下方法。(我已经在两个应用程序(即A应用程序和B应用程序)中实现了相同的Auth2代码)

1] 使用webview-但每次登录时都会发出请求(对于A应用和B应用)

2] 使用SFSafariViewController-当我第一次打开应用程序A时,它要求我登录,然后我在登录后关闭应用程序。我再次打开A应用程序,它不要求我登录,它直接在主页上重定向。同样的程序,我遵循的B应用程序。在B应用程序中,它再次要求我登录。登录后,我可以在主页上重定向。这里我想要的是,两个应用程序应该在同一个SFSafariViewController之间共享会话(cookies)。 但我发现类似“iOS 11的影响不再在Safari、Safari视图控制器实例之间提供共享cookie”” 那怎么办

3] Safari浏览器-使用上面的选项后,我选择了此选项。A应用和B应用共享通用Safari浏览器cookies(直到用户从后台删除Safari浏览器)。但每当我打开这两个应用时,每次它(通过显示对话框)要求我从safari浏览器打开应用时。解决这个问题的办法是什么


我已经经历了上述情景,但仍然无法实现我想要的

您如何存储OAuth令牌?您是否完全依赖Safari来为您执行此操作?身份验证后,我将该身份验证令牌存储到密钥链中。Safari浏览器每次都要求我使用对话框从浏览器打开应用程序。您是如何存储OAuth令牌的?您是否完全依赖Safari来为您执行此操作?身份验证后,我将该身份验证令牌存储到密钥链中。Safari浏览器每次都要求我使用对话框从浏览器打开应用程序