- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何让 AFOAuth1Client 与 AFIncrementalStore 一起工作?
我能够使用 AFOAuth1Client 获取 AFOAuth1Token 的有效实例,并且能够将其保存到钥匙串(keychain)中以供重复使用。我的 AFOAuth1Client 单例实例能够使用 token 进行调用,但我不确定如何将其传递给实现 AFIncrementalStoreHTTPClient 协议(protocol)的 AFRESTClient 实例使用。
AFRESTClient 的方法“setAuthorizationHeaderWithToken:”需要一个字符串,但 token 中存储的所有属性似乎都不起作用。我需要在这里做什么?我是否完全错误地解决了这个问题?我的理解是 AFOAuth1Client 应该只用于获取 token ,但我开始认为我可能偏离了方向。
编辑:也许是问题的更简洁版本:How do I get AFOAuth1Client to work with AFIncrementalStore?
最佳答案
我打算建议修改 AFRESTClient 以从 AFOAuth1Client 继承,但我发现了这个拉取请求,其中 Matt 指出 AFOAuth1Client 应该与您的客户端子类分开:https://github.com/AFNetworking/AFOAuth1Client/pull/6
我广泛使用了 AFNetworking,但我编写了自己的身份验证而不是使用 AFOAuth1Client。因为我在我的 AFHTTPClient 子类中覆盖了 requestWithMethod 。授权 header 不是静态的,它取决于每个请求的路径和参数。
结合上面 Matt 的指导,我认为您应该将 authClient 属性添加到您的 Client 子类,然后将该客户端计算的 token 添加到您自己的请求中 - 类似于 AFOAuth1Client 本身的方式。
我不确定,但我会试一试。
//在您的 AFRestClient 子类中
@property(nonatomic, strong) AFOAuth1Client *authClient;
...
- (NSMutableURLRequest *)requestWithMethod:(NSString *)method
path:(NSString *)path
parameters:(NSDictionary *)parameters
{
NSMutableURLRequest *request = [super requestWithMethod:method path:path parameters:parameters];
NSString *authorizationHeader = [self.authClient authorizationHeaderForMethod:method path:path parameters:parameters];
[request setValue:authorizationHeader forHTTPHeaderField:@"Authorization"];
return request;
}
在发出第一个请求之前,您将初始化 authClient 并获得 [self.authClient authorizeUsingOAuthWithRequestTokenPath:...]
关于ios - 如何将 AFOAuth1Client 与 AFIncrementalStore 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17603483/
我是一名优秀的程序员,十分优秀!