我想在我的应用上实现像登录一样的Facebook。我的想法是我有一个Web服务和一个包含登录表单的网页。
现在,当有人点击我的iphone应用程序的登录按钮时,我想弹出我的网页。如果验证成功,我会关闭iPhone弹出窗口。还有一种可能性,即成功登录后会有一个将被退回的令牌,我应该可以从我的iPhone应用程序中获取此令牌。
我该如何实现?
答案 0 :(得分:0)
您需要使用标准的UIWebView在您的网站上加载登录表单(UIWebView class reference)。您可能想要设置委托并等待webViewDidStartLoad或webViewDidFinishLoad - 在这些点上,您将能够检查请求的状态。
我会尝试让webservice在失败时呈现相同的表单,并且在成功时呈现一个带有一些隐藏属性的最小“loading ...”表单,您可以直接从UIWebView中取出您的应用(例如,令牌或其他登录信息,用于制作将来的请求)。这样,用户可以多次授权失败,但只有在成功进行身份验证并具有一些标识符时才会继续进入应用程序。
如果您不想在Web服务返回的实际HTML中隐藏令牌,则还可以在设备上创建标识符,并在用户POST到Web服务时将其包含在表单中。在成功的身份验证中,您可能需要再次请求为您打算制作的任何其他请求获取某种唯一令牌,但这会变得更复杂一些。
最好的办法是尝试最简单的方法,然后向安全专家询问如何改善您的互动/协议。