У меня возникли проблемы с использованием аутентификации токена HTTP с помощью NSMutableURLRequest
. Я провел некоторое исследование и использовал следующий вопрос: ios managing authentication tokens from NSURLRequest/HTTP request, чтобы узнать, как установить токен в HTTP-заголовке. Однако токен, который мне нужно установить, - это не просто поле заголовка со значением. Мне нужно установить поле заголовка HTTP (или несколько), чтобы оно выглядело так: Authorization: Token token="tokenHere", nonce="def"
. Следующие фрагменты кода являются примерами вещей, которые я попробовал, что потерпели неудачу:IOS - аутентификация токена в HTTP-заголовках с NSURLRequest
//failed to authenticate with server
[request setValue:@"tokenHere" forHTTPHeaderField:@"token"];
[request setValue:@"def" forHTTPHeaderField:@"nonce"];
//failed as well
NSDictionary *authToken = [NSDictionary dictionaryWithObjectsAndKeys:
@"tokenHere", @"token",
@"def", @"nonce",
nil];
[request setValue:[NSString stringWithFormat:@"Token %@", authToken] forHTTPHeaderField:@"Authorization"];
//failed again
[request setValue:@"Authorization: Token token='tokenHere', nonce='def'" forHTTPHeaderField:@"Authorization"];
Задняя сервер запрограммирована в рубине, и ожидает один заголовка, который выглядит так же, как в примере выше. Мне нужна помощь в создании стоимости, чтобы она работала с задним концом.
Оказалось, что мне нужно избегайте двойных кавычек и избавляйтесь от «Аутентификация»: правильный запрос выглядит следующим образом: '[request setValue: @" Token token = \ "tokenHere \", nonce = \ "def \" "forHTTPHeaderField: @" Authorization "]; ' – ScottOBot