views:

111

answers:

3

I'm planning to write an iPhone app that does not require user to register. However, I would like to associate all registered user with at least an email so that I can send them email notifications when needed.

  • OpenID - seems to do what I need, but it doesn't work well on an installed app (unless I use... WebView? Even that is not user friendly since they're not optimized for mobile use.

  • OAuth - seems like a mess, and I'm not asking for access to its service...

  • OAuth 2.0 - seems better, but not quite ready yet as of now?

  • Google's ClientLogin - seems to work well, anyone use this with iPhone app?

  • Facebook Connect - heard it is good, anyone tried?

Maybe I should support both Google's ClientLogin and Facebook Connect? and wait till OAuth2 is ready and look into that to support Google + Facebook + twitter?

Suggestion? Comment? Thanks!

+3  A: 

In our application, we use Facebook and Twitter. Facebook Connect is great. Really easy to do authentication, just few lines of codes:

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

handle delegate:

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

and add the login button:

FBLoginButton* button = [[[FBLoginButton alloc] init] autorelease]; 
[self.view addSubview:button];

More info here.

The tricky part maybe the fql. But if you experienced about SQL before, it should not be a problem. I already have experience on SQL and it took me few hours to understand fql and post/get in facebook.

About Twitter, it is harder, because the Oauth Authentication requires more jobs from you. The Get API of Twitter is easy to start but hard to scale further, imo, but may not be your problem if you only care about user authentication

Currently, in Iphone, Twitter recommends us to use XAuth instead of OAuth because it creates better User Experience. More about XAuth and OAuth here. We used this library before for OAuth, but now when we change to XAuth, we stopped using it.

vodkhang
cool thanks! are you using other methods of logging in? or does your app only support Facebook Connect?
Henry
I just asked my colleague about Twitter and add it in:). Our app currently supports Facebook and Twitter but I mainly work on Facebook
vodkhang
A: 

This is a very simple answer to this problem... Tell the user to get a real phone. Android or WP7 prehaps:)

Ryanb58
wth? But don't tell me that if users use Android or WP7, they never need to do authentication, with Facebook, with Twitter, with your own server?
vodkhang
my god, what sort of answer is this
Henry
+1  A: 

found this yesterday: http://www.janrain.com/products/engage/mobile

Henry
Hi, so cool. Thanks a lot for sharing
vodkhang
be careful a little bit about UX, because what I can see is the Facebook Login is not the one provided by FBConnect for iPhone. Users are get used to that login screen
vodkhang