2016-10-18 1 views
0

Je communique avec .net api sur le serveur et maintenant dans api ils utilisent oAuth2. Donc, dans ios je dois obtenir un jeton de rafraîchissement chaque fois que je fais une demande et dans une autre demande, je dois passer ce jeton. C'est comme "porteur TOKEN". J'utilise AFNetworking dans mon application. Une idée pour faire fonctionner cette chose?Comment puis-je obtenir un jeton d'actualisation à chaque requête?

Répondre

1

En AFNetworking3 vous utiliserez requête HEAD pour obtenir jeton de rafraîchissement. Et ensuite, lancez votre requête sur le bloc de succès.

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]; 

Vous pouvez également créer un objet d'opération pour exécuter les deux API, plus maniable et plus flexible.

1

Si vous utilisez la classe AFHTTPSessionManager pour vous faire des demandes, vous pouvez faire ce qui suit avant de faire la demande http:

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; 
[manager.requestSerializer setValue:@"Bearer YOUR_TOKEN" forHTTPHeaderField:@"Authorization"]; 
+0

Est-ce que cette requête donnera le jeton d'actualisation en même temps que ma réponse d'api? –

+0

Je pense que vous devez effectuer des demandes distinctes, une pour obtenir le jeton, et un autre qui devra utiliser ce jeton à l'en-tête –

+0

aahh c'est ce que je ne veux pas ... je demande récursivement du serveur .. entre merci pour Aidez-moi. –