2012-03-18 3 views
0

私は長い時間を検索するだけで、本当に基本的な情報を見つけることができるので、私はここに頼むことにしました:セキュア認証:RailsのWebAppのとiOSのApp

単純なことは、私はレールに対してのiOSアプリケーションを認証したいということであり、ウェブアプリケーション。 私はHTTP BasicやTokenベースのようなものを考えましたが、これは私が本当に望むものではありません。 私はFacebookやTwitterなどからOAuthに対して認証したいと思っています。 レール側でこれは本当に簡単です。 omn​​iAuthのデバイスはこの仕事を偉大なものにしました。 しかし、この方法でiOSアプリケーションをどのように認証すればよいですか?

誰かがこれを行う方法についてより詳細な見解を示すことができれば幸いです。

答えて

1

私はあなたに2つの解決策があると思います。

1:WebView

OAuth要求/応答にWebViewを使用します。

SHKOAuthView ShareKitはあなたの理解に役立ちます。 iOSアプリは、通常、Webアプリケーションに/応答を要求することができるように

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 
{  
    // "OAUTH_DID_FINISH_SUCCESS_URL" is URL your wab app display after finishing OAuth authentication successfully. 
    if ([request.URL.absoluteString isEqualToString:OAUTH_DID_FINISH_SUCCESS_URL]) 
    { 
     // OAuth success 
     return NO; 
    } 
    return YES; 
} 

のWebViewでOAuth認証を終えた後、iOSアプリは自動的に、クッキーを(ウェブアプリはクッキーを保存した場合)保存します。ちなみにアンドロイドはクッキーを自動的に保存しないかもしれないので、Androidアプリもサポートしなければならないなら、トークンベースの認証が優れています。

2:RestKit

RestKitサポートOAuthの。

私はデバイスがOAuthでiOSアプリケーションのための最善の解決策ではないと思います。 私はomniAuthでのスクラッチ認証が優れていると思います。

+0

これは、問題の一部を解決します。しかし、OAuth経由で認証するには、私自身OAuthプロバイダである必要がありますか、間違っていますか?あなたのソリューション私はOAuthのプロバイダに対してのiOSデバイスを認証できたと - しかし、私は私のWebAppの反対のOAuthプロバイダーを認証し、私のWebAppのに対して、私のiOSデバイスを認証する必要が 例: 'ツイッター<-> WebAppの<->のiOS App' – PascalTurbo

+0

私は最初の解決策(1:WebView)を使用しました。私のWebアプリケーション(Rails 3.1)は[SingSing](http://www.singsing.biz/)です。私のiOSアプリは[アカペラのLITE](http://itunes.apple.com/us/app/acappellalite/id370754632?mt=8)です。 – dadachi

+0

ええ、それは素晴らしいです。しかし、どのようにRails-Partを解決しますか? – PascalTurbo

関連する問題