iPhone应用程序中最简单的用户身份验证方式是什么?

6
我计划编写一个 iPhone 应用程序,不需要用户注册。但是,我希望至少将所有注册用户与一个电子邮件关联起来,这样我可以在需要时向他们发送电子邮件通知。
以下是一些可能的解决方案:
- OpenID - 似乎可以满足我的需求,但在安装的应用程序中效果不佳(除非我使用 WebView?即使如此,也不够用户友好,因为它们没有针对移动端进行优化)。 - OAuth - 看起来有点混乱,而且我并不需要访问其服务... - OAuth 2.0 - 看起来更好,但截至现在还不够成熟? - Google 的 ClientLogin - 看起来很不错,有人在 iPhone 应用程序中使用过吗? - Facebook Connect - 听说很好,有人试过吗?
也许我应该同时支持 Google 的 ClientLogin 和 Facebook Connect?等到 OAuth2 准备就绪后再考虑支持 Google + Facebook + Twitter?
有什么建议或评论吗?谢谢!
2个回答

3

在我们的应用程序中,我们使用Facebook和Twitter。Facebook Connect非常好用。只需要几行代码就可以轻松进行身份验证:

session = [FBSession sessionForApplication:myApiKey secret:myAppSecret delegate:self];

处理委托:

- (void)session:(FBSession*)session didLogin:(FBUID)uid 

并添加登录按钮:
FBLoginButton* button = [[[FBLoginButton alloc] init] autorelease]; 
[self.view addSubview:button];

在这里获取更多信息。

可能比较棘手的是fql,但如果你之前有SQL的经验,那么应该不成问题。我已经有了SQL的经验,只花了几个小时就理解了在Facebook中的fql以及post/get操作。

关于Twitter,它更难一些,因为Oauth验证需要更多的工作。Twitter的Get API很容易入门,但要进一步扩展则很困难,但如果您只关心用户身份验证,则这可能不是您的问题。

目前,在iPhone上,Twitter建议我们使用XAuth而不是OAuth,因为它可以创建更好的用户体验。在这里了解更多有关XAuth和OAuth的信息。我们之前使用过这个库来进行OAuth,但现在我们改用XAuth后就停止使用它了。


酷,谢谢!你是否使用其他登录方法?还是你的应用只支持Facebook Connect? - Henry
我刚刚问了我的同事关于Twitter并将其添加进来:)。我们的应用程序目前支持Facebook和Twitter,但我主要在Facebook上工作。 - vodkhang

1

请注意一下用户体验,因为我看到的Facebook登录界面不是FBConnect为iPhone提供的那个。用户已经习惯了那个登录界面。 - vodkhang

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接