将身份验证令牌从 iOS 应用程序发送到 Safari
Send authentication token to Safari from iOS App to Safari
我的应用程序中有一些 URLs,可以让用户通过 openURL
API 进入 Safari 浏览器。
我的目标是将身份验证令牌从应用程序发送到 Safari,以便用户使用此令牌登录。我们的服务器要求将此票证作为 header 信息的一部分发送。是否有可能将自定义 header 与 NSURL
一起发送?
我已经检查了下面的 link,其中讨论了查询组件,但服务器不处理它,他们更喜欢不同的解决方案。 Android 在外部浏览器中打开 URL 时有可能发送额外的 headers,所以现在每个人的眼睛都在 iOS :-)。
Open NSURLRequest In Safari
授权令牌保存在共享钥匙串中,Safari 有没有办法访问它?
推荐的解决方案是什么?
我需要使用 Shared Web Credentials 吗?我相信在这种情况下需要做很多工作。我没用过。
我认为你需要发挥 URL 的水平。假设您从服务器向应用程序发送一个一次性令牌,并在您发送到 Safari 的 URL 中使用它作为参数。
当服务器收到令牌时,它会自动知道用户是谁,现在从 Safari 继续它的会话。
您提供的第一个 link 解释了这个想法,我认为它适合您,但您还需要更新后端才能执行此类任务。
类似
UIApplication.sharedApplication().openURL(NSURL(string:"http://www.myWebsite/user?token=\(userToken)")!)
最终决定使用 webview,因为我们的授权票对 url 来说太长了,感谢您的帮助
我的应用程序中有一些 URLs,可以让用户通过 openURL
API 进入 Safari 浏览器。
我的目标是将身份验证令牌从应用程序发送到 Safari,以便用户使用此令牌登录。我们的服务器要求将此票证作为 header 信息的一部分发送。是否有可能将自定义 header 与 NSURL
一起发送?
我已经检查了下面的 link,其中讨论了查询组件,但服务器不处理它,他们更喜欢不同的解决方案。 Android 在外部浏览器中打开 URL 时有可能发送额外的 headers,所以现在每个人的眼睛都在 iOS :-)。
Open NSURLRequest In Safari
授权令牌保存在共享钥匙串中,Safari 有没有办法访问它?
推荐的解决方案是什么?
我需要使用 Shared Web Credentials 吗?我相信在这种情况下需要做很多工作。我没用过。
我认为你需要发挥 URL 的水平。假设您从服务器向应用程序发送一个一次性令牌,并在您发送到 Safari 的 URL 中使用它作为参数。
当服务器收到令牌时,它会自动知道用户是谁,现在从 Safari 继续它的会话。
您提供的第一个 link 解释了这个想法,我认为它适合您,但您还需要更新后端才能执行此类任务。
类似
UIApplication.sharedApplication().openURL(NSURL(string:"http://www.myWebsite/user?token=\(userToken)")!)
最终决定使用 webview,因为我们的授权票对 url 来说太长了,感谢您的帮助