Безопасная аутентификация: Rails WebApp и приложение для iOS - PullRequest
0 голосов
/ 18 марта 2012

Я долго искал, но мог найти только основную информацию, поэтому решил спросить здесь:

Простая вещь: я хочу аутентифицировать приложение iOS на веб-приложении rails. Я думал о чем-то вроде HTTP Basic или Token - но это не то, чего я действительно хочу. Я хочу аутентифицироваться против OAuth с Facebook, Twitter и так далее. На стороне рельсов это действительно легко. Устройство с omniAuth отлично справилось с этой задачей. Но как мне аутентифицировать приложение iOS этим методом?

Было бы замечательно, если бы кто-нибудь мог дать более подробное представление о том, как это сделать.

1 Ответ

1 голос
/ 19 марта 2012

Я думаю, у вас есть два решения.

1: WebView

Использование WebView для запроса / ответа OAuth.

SHKOAuthView ShareKit поможетваше понимание.

- (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;
}

После завершения проверки подлинности OAuth с помощью WebView, приложение iOS автоматически сохраняет cookie (если веб-приложение сохраняет cookie), поэтому приложение iOS обычно может запрашивать / отвечать на веб-приложение.Кстати, Android может не сохранять cookie автоматически, поэтому аутентификация на основе токенов лучше, если вам необходимо поддерживать приложение Android тоже.

2: RestKit

RestKit поддержка OAuth.

Я думаю, что Device - не лучшее решение для iOS-приложений с OAuth.Я думаю, что царапина аутентификации с помощью omniAuth лучше.

...