Search code examples
iphoneopenid

Can we implement a openID options in a Native iPhone App?


Is is possible to implement OpenId authentication in iPhone? I found a framework named janrain. But with free sign up, we can avail only features. Is there any other open source framework available?

Thanks !!


Solution

  • I found a solution that uses a standard UIWebView to handle the authentication. Since cookies are shared within an app, a successful authentication with a UIWebView (that stores a session or authentication cookie) will carry over to other requests.

    I don't have a formal framework, but it works like this: I issue a REST request. If the request returns a JSON string, then I'm already authenticated and all is good. If the request returns a redirect (i.e., 301), then the site is trying to redirect for authentication. Here I stop the redirect and present a modal UIWebView with the sign in page. The user can sign in with their OpenID, and once the user is authenticated is redirected to a predetermined success url.

    The UIWebView -(void)webViewDidFinishLoad:(UIWebView *)webView delegate method checks each URL after it's loaded, and dismisses the modal once it sees that the success url was requested.

    That's basically how I did it and it seems to work.