Objective c 如何通过每个请求获取刷新令牌?
我正在通过服务器与.NETAPI通信,现在在api中,他们正在使用oAuth2。因此,在ios中,我必须在每次发出请求时获取刷新令牌,在另一个请求中,我必须传递该令牌。它就像“承载令牌”。我在我的应用程序中使用AFNetworking。有什么办法让它工作吗?如果您使用Objective c 如何通过每个请求获取刷新令牌?,objective-c,oauth-2.0,afnetworking-3,Objective C,Oauth 2.0,Afnetworking 3,我正在通过服务器与.NETAPI通信,现在在api中,他们正在使用oAuth2。因此,在ios中,我必须在每次发出请求时获取刷新令牌,在另一个请求中,我必须传递该令牌。它就像“承载令牌”。我在我的应用程序中使用AFNetworking。有什么办法让它工作吗?如果您使用AFHTTPSessionManager类发出请求,您可以在发出http请求之前执行以下操作: AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; [man
AFHTTPSessionManager
类发出请求,您可以在发出http请求之前执行以下操作:
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
[manager.requestSerializer setValue:@"Bearer YOUR_TOKEN" forHTTPHeaderField:@"Authorization"];
如果您正在使用
AFHTTPSessionManager
类发出请求,则可以在发出http请求之前执行以下操作:
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
[manager.requestSerializer setValue:@"Bearer YOUR_TOKEN" forHTTPHeaderField:@"Authorization"];
在AFNetworking3中,您将使用HEAD请求获取刷新令牌。然后在成功块上触发您的实际请求
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.requestSerializer = [AFHTTPRequestSerializer serializer];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
NSURLSessionDataTask *dataTask = [manager dataTaskWithHTTPMethod:@"HEAD" URLString:URLString parameters:parameters headerFields:headerFields success:^(NSURLSessionDataTask *task, __unused id responseObject) {
if (success) {
success(task);
// on success block you can fire your final API with below refresh token
[manager.requestSerializer setValue:@"Bearer RRFRESH_TOKEN" forHTTPHeaderField:@"Authorization"];
}
} failure:failure];
[dataTask resume];
您还可以创建一个操作对象来执行这两个API,它更易于管理和灵活。在AFNetworking3中,您将使用HEAD请求来获取刷新令牌。然后在成功块上触发您的实际请求
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.requestSerializer = [AFHTTPRequestSerializer serializer];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
NSURLSessionDataTask *dataTask = [manager dataTaskWithHTTPMethod:@"HEAD" URLString:URLString parameters:parameters headerFields:headerFields success:^(NSURLSessionDataTask *task, __unused id responseObject) {
if (success) {
success(task);
// on success block you can fire your final API with below refresh token
[manager.requestSerializer setValue:@"Bearer RRFRESH_TOKEN" forHTTPHeaderField:@"Authorization"];
}
} failure:failure];
[dataTask resume];
您还可以创建一个操作对象来执行这两个API,它更易于管理和灵活。该请求是否会在我从API获得响应的同时提供刷新令牌?我认为您需要执行单独的请求,一个请求获取令牌,还有一个需要在校长处用这个代币啊这是我不想要的。。。我正在从服务器递归请求。。感谢您的帮助。该请求是否会与我的api响应同时提供刷新令牌?我认为您需要执行单独的请求,一个请求获取令牌,另一个请求将需要在Headerah使用此令牌这是我不想要的。。。我正在从服务器递归请求。。谢谢你的帮助。