RestKit (バージョン 0.10.2) を取得して OAuth2 で認証しようとしています。OAuth インタラクションを処理するためにGTMOAuth2を使用しています。
GTMOAuth2 にサインインして、使用している API にリクエストを送信することに成功しました。また、次のようにして、RestKit にアクセス トークンを使用してリクエストを送信させることもできました。
- (void)setRKAuthorizationToken:(NSString *)authorizationToken {
RKObjectManager* objectManager = [RKObjectManager sharedManager];
NSString* authHeader = [NSString stringWithFormat:@"Bearer %@", authorizationToken];
[objectManager.client setValue:authHeader forHTTPHeaderField:@"Authorization"];
}
このコード サンプルでは、HTTP ヘッダーを手動で設定しています。これは、RestKit の OAuth2 のサポートにより、ヘッダーがAuthorization: OAuth2 <accessToken>
ではなくとして設定されるためですAuthorization: Bearer <accessToken>
。
とにかく、アクセス トークンを更新トークンで更新する必要があるまで、これはうまく機能します。
私が本当にやりたいことは、RestKit に を使用するように指示することですGTMOAuth2Authentication
。- (BOOL)authorizeRequest:(NSMutableURLRequest *)request;
これは、アクセス トークンの有効期限が切れたときに、リフレッシュ トークンを使用して新しいアクセス トークンを自動的に取得するためです。
ところで、RestKit はOAuth のサポートを段階的に進めています。サードパーティ ライブラリを使用してリクエストを承認することをお勧めします。私は例を求めましたがdevelopment
、その応答は、ブランチにあるクラスからサブクラスへの方向性を示してくれました。
質問は、RestKit 0.10.x を GTMOAuth2 に正常に統合したか、またはこれを達成する方法を知っていますか?