0

Я передаю имя пользователя, пароль для вызова API, он возвращает правильное значение. Но после того, как API аутентификации возвращает токен безопасности, мне нужно захватить токен и передать вместе с именем пользователя и паролем. Я делаю то же самое, но он возвращает запрещенную ошибку, которая обозначает недопустимую ошибку токена. Я также попробовал base64 передать токен, как это было предложено на некоторых ответ в stackoverflow.The коде я использую, чтобы передать значение заголовка нижеКак пройти авторизацию token header object c?

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; 
[request setHTTPMethod:[self HTTPMethod]]; 
[request setHTTPBody:self.requestData]; 
[request addValue:@"xyz" forHTTPHeaderField:@"username"]; 
[request addValue:@"xyz" forHTTPHeaderField:@"password"]; 
[request addValue:[[NSUserDefaults standardUserDefaults]valueForKey:@"Auth"] forHTTPHeaderField:@"Authorization"]; 
[request addValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; 

Я искал методы заголовка, но ничего helps.what я делаю неправильно here.pls никто не поможет мне исправить it.Thanks.

ответ

2

setValue Используйте для запроса вместо addValue, потому что с addValue Если значение было установлено ранее для указанного поля, производимое значение добавляется к существующему значению, используя соответствующее поле разделителя

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; 
[request setHTTPMethod:[self HTTPMethod]]; 
[request setHTTPBody:self.requestData]; 
[request setValue:@"xyz" forHTTPHeaderField:@"username"]; 
[request setValue:@"xyz" forHTTPHeaderField:@"password"]; 
[request setValue:[[NSUserDefaults standardUserDefaults]valueForKey:@"Auth"] forHTTPHeaderField:@"Authorization"]; 
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; 

проверка яблоко с документацией

https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSMutableURLRequest_Class/#//apple_ref/occ/instm/NSMutableURLRequest/setValue:forHTTPHeaderField

+0

, в первый раз она возвращает правильное значение, но все-таки вызов возвращает ошибку – iniyaniOS

+1

это фиксируется дополни ng "/" в конце URL-адреса – iniyaniOS

Смежные вопросы