我试图获得RestKit(版本0.10.2)以使用OAuth2进行身份验证。我正在使用GTMOAuth2来处理OAuth交互。如何在iOS上将GTMOAuth2与RestKit集成?
我已经成功地获得了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是phasing it's support for OAuth;建议的方法是使用第三方库授权请求。我asked for an example和响应指出我在类的方向子类,这是在development
分支。
所以,问题是:你是否成功地将RestKit 0.10.x与GTMOAuth2集成在一起,或者知道如何做到这一点?