2012-03-28 10 views
13

私はRestKitに独自のOAuth2プロバイダを使用しています。私はResource Owner Password Credentialsで認証しようとしています。RestKit OAuth 2パスワード認証フロー

一般的にRestKitを介して保護されたリソースを要求し、特定のアクセストークンを取得するために資格情報を使って認証するためのサンプルコードとベストプラクティスはありますか?

おそらくResKit自体が最良の選択ではありませんか?

答えて

9

あなたは、このリンクをチェックアウトする必要があります:

RKObjectManager *manager = [RKObjectManager objectManagerWithBaseURLString:@"http://www.yourdomain.com"]; 
[manager setSerializationMIMEType:RKMIMETypeJSON]; 

[[RKClient sharedClient] setAuthenticationType:RKRequestAuthenticationTypeOAuth2]; 
[[RKClient sharedClient] setUsername:@"username"]; 
[[RKClient sharedClient] setPassword:@"password"]; 

:私は持っていないhttps://github.com/RestKit/RestKit/wiki/OAuth-Support-on-RestKit

をあなたは、この(私は私のアプリデリゲートでそれを行う)のような何かを試すことができます代わりにAuthenticationTypeHTTPBasicを使用しているため、テストしました

これが役に立ちます。

編集:役に立つ例および参照用

+0

感謝を:

私はより多くのお手伝いをすることができます。このコード例を見つけました。 –

+0

あなたを助けてくれて嬉しいです。私はRestKitとも闘ってきたので、私はそれが何であるかを知っています。 –

+0

github/rodchileの参照コード例は完全ではなく、[0.2x docs](http://cocoadocs.org/docsets/RestKit/0.20.3/)にはないクラスRKClientOAuthを使用しています。参照されているwikiページは、完全な解決策を参照し概要を示しています。 –

0

あまりに洗練されたクライアントとAPIにうんざりした後、私はそれを自分で行い、HTTPクライアントを使用することに決めました。

RubyMotionとBubbleWrapで、私はAPIでResource Owner Password Credentialsを使用しました。

params = { 
    "grant_type" => "password", 
    "username" => "<USERNAME>", 
    "password" => "<PASSWORD>", 
    "client_id" => "<SOMETHING>", 
    "client_secret" => "<SOMETHING>", 
    "scope" => "public write" 
} 

BW::HTTP.post("https://example.com/oauth/token", 
       :payload => params, 
       :headers => {}) do |response| 

    if response.ok? 
    # Do something 
    end 
end 
関連する問題