我正在使用委派身份验证,当启动应用程序时,它会将用户重定向到基于浏览器的登录屏幕。一旦用户提供凭证,如果成功,他将被转移回本机应用程序。如何将会话信息传输到本机应用程序并控制回原生应用程序?
答案 0 :(得分:3)
首先想一想:基于浏览器的登录会提交给某种API吗?您是否可以本机实现登录表单并访问相同的API?
如果您必须重定向到基于浏览器的屏幕,您可以尝试使用嵌入式UIWebView
并使用Objective C到javascript桥接来传递身份验证令牌。
如果您必须打开Safari,则必须在应用中注册custom URL scheme并使用Safari从登录页面生成链接...不理想
答案 1 :(得分:2)
还尝试在stackoverflow上搜索此主题。有很多好的答案可以指导你朝着正确的方向发展。
How to do authentication in UIWebView properly
How to display the authentication challenge in UIWebView
参考您对使用Ping身份的评论: 这家公司有几个回购,他们展示了如何将他们的登录集成到iOS应用程序中。
看看这个回购: OAuth example 有一个使用他们的OAuth API的例子,你也可以找到两个word文档更详细地描述它。
此外,他们还提供了使用UIWebview或Safari浏览器的示例: Browser Examples
作为一个补充,该公司有更多关于这个主题的回购,只需浏览一下。