我在使用HTTP令牌验证与NSMutableURLRequest
时遇到了一些问题。我已经做了一些研究并使用了以下问题:ios managing authentication tokens from NSURLRequest/HTTP request了解如何在HTTP标头中设置令牌。然而,我需要设置的令牌不仅仅是一个带有值的简单标题字段。我需要设置一个http头域(或多个),如下所示:Authorization: Token token="tokenHere", nonce="def"
。在下面的代码片段是失败的事情,我已经试过的例子:IOS - 使用NSURLRequest的HTTP标头中的令牌验证
//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"];
后端服务器在红宝石编程,并期待一个头,看起来就像上面的例子。我需要一些帮助来设计价值,以便它能够与后端一起工作。
原来,我需要转义双引号并摆脱“Authentication:”适当的请求看起来像:'[request setValue:@“Token token = \”tokenHere \“,nonce = \”def \“”forHTTPHeaderField:@“Authorization”]; ' – ScottOBot