2012-06-27 4 views
0

Я пытаюсь получить доступ к API Google Диска с помощью RestKit в iOS, но у меня возникают проблемы с аутентификацией Oauth.RestKit Oauth 2 API Google

Я после вики-страницы они на эту тему здесь: Oauth Support On RestKit

В основном мы создаем клиента, как это:

oauthClient = [RKClientOAuth clientWithClientID:[Client Id] secret:[Client Secret] delegate:[Your Delegate]]; 
[oauthClient setAuthorizationCode:[User Authorization Code]]; 
[oauthClient setAuthorizationURL:[Authorization Endpoint]]; 
[oauthClient setCallbackURL:[Your application callbackurl]]; 
[oauthClient validateAuthorizationCode]; 

И мы получаем маркер доступа на делегата в метод

- (void)OAuthClient:(RKOAuthClient *)client didAcquireAccessToken:(NSString *)token 

Здесь мы можем создать ObjectManager сделать запросы и все другие операции

RKObjectManager* objectManager = [RKObjectManager sharedManager]; 
objectManager.client.baseURL = @"YOUR API URL"; 
objectManager.client.OAuth2AccessToken = @"YOUR ACCESS TOKEN"; 
objectManager.client.authenticationType = RKRequestAuthenticationTypeOAuth2; 

Со всем этим я столкнулся с несколькими проблемами.

  • Во-первых, как мы получаем нужен код авторизации здесь:

    [oauthClient setAuthorizationCode:[User Authorization Code]]; 
    

    У меня не было проблем с ID клиента, секрет клиента, авторизации Endpoint, Callback URL и API URL, поскольку они в основном в API консоли Google, но я не знаю, как это получить.

  • Во-вторых, токеном доступа будет временный токен доступа или токен обновления, поскольку они указаны в API Google? Если это первый, как мы можем получить токен обновления?

Я пытался сделать это с помощью RestKit, но могут быть лучшие способы, поэтому я открыт для других идей. Я не могу найти много информации о поддержке Oauth в Restkit.

Спасибо заранее

+0

Вы нашли решение для этого? Я столкнулся с этой же проблемой при работе с Restkit. Честно говоря, я действительно запутался, так как вики звучат так, как будто мне нужно предоставить код авторизации в первом запросе. Однако, насколько я знаю, Oauth2 работает сервером auth, отвечающим с кодом авторизации в ответ на первый запрос, который затем используется во втором запросе, чтобы наконец получить токен доступа. – Vlad

ответ

0

Вы начинаете свой идентификатор клиента и секрет клиента, вы направить пользователя на сервер авторизации владельца ресурса. Сервер авторизации и пользователь подтверждают друг друга, а ваше приложение получает код авторизации. Вернитесь на сервер авторизации и обменивайтесь авторизационным кодом для токена доступа.

Если токен доступа установлен в ящик времени, то вы должны использовать токен обновления, чтобы запросить новый токен доступа, когда обнаружите, что токен доступа отключен.

Смежные вопросы