我在使用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