RestKit OAuth 2 Поток аутентификации пароля - PullRequest
13 голосов
/ 28 марта 2012

Я использую RestKit с собственным поставщиком OAuth2.Я пытаюсь пройти проверку подлинности с помощью Учетные данные пароля владельца ресурса .

Может ли кто-нибудь предоставить пример кода и рекомендации для запроса защищенных ресурсов через RestKit в целом и проверки подлинности с помощью учетных данных для получения токена доступа в определенном виде??

Возможно, сам ResKit - не лучший выбор?

Ответы [ 2 ]

9 голосов
/ 18 ноября 2012

Вы должны проверить эту ссылку: https://github.com/RestKit/RestKit/wiki/OAuth-Support-on-RestKit

Вы можете попробовать что-то вроде этого (я делаю это в моем делегате приложения):

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

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

Примечание : я не проверял его, потому что вместо него использую AuthenticationTypeHTTPBasic

Надеюсь, это поможет!

Edit:

Я нашел этот пример кода, который может помочь вам больше: https://github.com/rodchile/RestKit-OAuth2-Client-Example

0 голосов
/ 16 ноября 2012

Сытый по горло слишком изощренными клиентами и API, я решил сделать это сам и использовать HTTP-клиент.

С RubyMotion и BubbleWrap Я достиг, используя учетные данные для пароля владельца ресурсас 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
...