2010-03-09 58 views
4

当我在iPhone中实现OAuth时,我有两难选择Safari或UIWebView来打开用于用户身份验证的Twitter页面吗? 我写了这两种情况的优势和劣势: 使用UIWebWeb。缺点是用户必须在我们的应用程序中输入他们的凭据。这可能是有风险的网络钓鱼。优点是这种方法不会退出我们的应用程序。iPhone上的OAuth:使用Safari或UIWebView?

使用Safari对用户进行身份验证(此方法自动对我们的应用程序进行回调)Addvantage:风险较小。缺点:必须退出我们的应用程序

约一个很好的参考链接:http://fireeagle.yahoo.net/developer/documentation/oauth_best_practice

你更喜欢哪个? 任何回应是欣赏。谢谢。

回答

3

广大绝大多数用户不会理解或关心区别。做任何事情都会让他们的生活变得更轻松,或者 - 一切都是平等的 - 你的生活更轻松。只要是值得信赖的(你是而不是钓鱼或偷窥他们的凭据,对吧?),你会提供一个很好的经验,而不是把它们搞砸了。在这种情况下,我会使用UIWebView。

+0

我们不是钓鱼网站,但问题是我们的应用程序不是很知道用户是否愿意向我们提供他们的凭据? fireeagle说:“用户将被引导通过以最安全的方式进行认证。“ – KONG 2010-03-09 05:00:48

+4

只要您承诺提供他们渴望的Twitter,即使您的名字是”SirScamAlot“,用户也会为您提供他们的身份验证详细信息。 – 2010-03-09 05:36:46

3

几年前执行Pownce iPhone应用程序的人就此自行公开辩论。

他的博客似乎不再起作用,但基本上他对OAuth而言是以“正确”的方式实现的。 Safari不是在应用程序中输入凭据,而是启动了Safari并将它们输入到那里,然后使用自定义iPhone URL作为重新启动Pownce应用程序的回调。很整齐,呃?

过了一段时间,开发者跟进了一条评论,指出有很多人在下载应用程序,但并未真正使用它。他的结论?他的辉煌的OAuth计划是怪罪。用户被Safari发射困惑并被带出应用程序。

说实话呢?我认为这个应用程序适用于Pownce,这是一个没有人使用的服务,这是应该受到指责的。

我现在在应用程序商店中有一个应用程序,它使用Foursquare API,它同时支持Basic HTTP身份验证和OAuth。我决定“做正确的事情”并使用OAuth。用户直接在我的应用程序中输入他们的凭证。我是否可以在任何地方以纯文本保存用户名和密码?不。但我可以吗?当然。

这可能听起来像我在这里争论双方,但它真正归结为,你的用户不太可能知道甚至关心OAuth是什么。他们甚至可能不会考虑将他们的凭证放入您的应用程序。 OAuth很棒(比OpenID好得多),但没有考虑到iPhone的设计。它被构建在Web浏览器内部工作。我认为Foursquare API文档在谈论他们的移动/桌面客户端OAuth方案(不同于他们希望您为Web应用程序执行的操作)时最好 - “我们提供此机制的假设是,如果用户安装了您的应用程序在他们的硬件上,他们相信它足以将他们的认证信息传递给四方。“

+0

嗨bpapa。感谢您的回复。所以你使用UIWebView实现OAuth,是吗? – KONG 2010-03-10 15:58:55

0

由于5月31日的2017年及以后,没有离开我们MUST使用Safari浏览器选项。 ,因为谷歌现在不支持OAuth通过UIWebView。请参阅this链接了解更多详情

相关问题