2011-05-29 40 views
0

我想在我的应用程序上实现像登录一样的Facebook。这个想法是我有一个Web服务和一个具有登录表单的网页。如何创建Facebook一样登录?

现在,我想让我的网页弹出,当一个人点击我的iPhone应用程序登录按钮。如果验证成功,我会关闭iPhone弹出窗口。还有一种可能性,其中登录成功后会有一个令牌返回,我应该可以从我的iPhone应用程序获取该令牌。

我该如何执行此操作?

+0

您应该指定您的网站开发偏好,因为它有很大的不同。你的一半问题是如何设置身份验证服务,这是一个不同的答案。NET或Java或红宝石或... – Gats 2011-05-29 20:11:53

+0

我使用.net为我的Web服务。我只有在iPhone和网页通信上才有Web服务的问题。感谢你的快速回复。不胜感激。 – 2011-05-29 20:27:08

回答

0

您需要使用标准的UIWebView在您的网站上加载登录表单(UIWebView class reference)。您可能需要设置委托并等待webViewDidStartLoad或webViewDidFinishLoad--在这些位置您可以检查请求的状态。

我想尝试的是web服务在失败时呈现相同的表单,并在成功时呈现一个最小的“加载...”窗体,并带有一些隐藏属性,您将能够直接从UIWebView中取出在您的应用程序中(例如,令牌或其他登录信息以用于未来的请求)。这样用户可以多次尝试授权但未成功,但只有当他们成功进行身份验证并拥有一些标识符时,才会继续进入应用程序。

如果您不想将令牌隐藏在Web服务返回的实际HTML中,也可以在设备本身上创建一个标识符,并在用户发布到Web服务时将其包含在您的表单中。在成功验证时,您可能需要提出第二个请求,以获取某种您想要进行的其他请求的唯一标记,但这会变得更复杂一些。

最好的办法是尝试最简单的方法,然后询问安全专家如何改进您的交互/协议。

+0

非常感谢你..我认为这将起作用。 – 2011-05-29 20:29:18

相关问题