2012-03-28 5 views

risposta

9

si dovrebbe verificare questo link: https://github.com/RestKit/RestKit/wiki/OAuth-Support-on-RestKit

Si può provare qualcosa di simile (lo faccio nella mia app delegato):

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

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

Nota: non ho testato perché io uso AuthenticationTypeHTTPBasic invece

Spero che questo aiuti!

Edit:

ho trovato questo esempio di codice che può aiutare a più:

+0

Grazie per l'esempio utile e riferimenti. –

+0

Il piacere di averti aiutato. Ho anche lottato con RestKit quindi so come è. –

+0

L'esempio di codice di riferimento su github/rodchile non è affatto completo e utilizza una classe RKClientOAuth che non vedo nei [0.2x docs] (http://cocoadocs.org/docsets/RestKit/0.20.3/). La pagina wiki di riferimento fa riferimento e delinea una soluzione completa. –

0

Dopo essere stato stufo di client e API eccessivamente sofisticati, ho deciso di farlo da solo e utilizzare un client HTTP.

Con RubyMotion e BubbleWrap Ho raggiunto utilizzando le credenziali di password del proprietario di risorse con un'API.

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