Как передать цели заголовка авторизации c?
Я передаю имя пользователя, пароль для вызова API, он возвращает правильное значение. Но после аутентификации API возвращает токен безопасности, мне нужно захватить токен и передать имя пользователя и пароль. Я делаю то же самое, но он возвращает запрещенную ошибку, которая обозначает ошибку недопустимого токена. Я также пытался base64 передать токен, как предлагалось в некоторых ответ в stackru. Код, который я использую для передачи значений заголовка ниже
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"];
Я искал методы заголовка, но ничего не помогает. Что я делаю не так здесь. Пожалуйста, кто-нибудь поможет мне это исправить. Спасибо.
1 ответ
Использование 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"];
проверь яблочную документацию-