2012-06-15 46 views
1

我已經成功地得到通過的Magento的XCode的OAuth請求的access_token稱之爲 「401 3-> HTTP/1.1 401需要授權」

http://www.magentocommerce.com/api/rest/authentication/oauth_authentication.html

首先請求令牌實現OAuth協議的第三部分調用返回一個令牌,我向用戶提供UIWebView中的授權對話框,並在用戶按下「授權」後提取令牌/驗證器。

我把這些參數

OAuth realm="", 
oauth_timestamp="1339756083", 
oauth_nonce="d1dc184d236756c42210b746a887edb5bd69cf44", 
oauth_signature_method="HMAC-SHA1", 
oauth_consumer_key="{censored}", 
oauth_version="1.0", 
oauth_token="912i72lcu6vzlwk6a3vdj4a3sstbdzqp", 
oauth_token_secret="t5cg9qlykkk9411iv0rbul0gnw9fsa0m", 
oauth_verifier="9vu02kbymodo63pve091otffvy53rhlf", 
oauth_signature="fDwWGeJhatIX6kK4nb%2Bagp4C%2FxU%3D" 

這是我的OBJ-C代碼部分

NSMutableArray* values = [[NSMutableArray alloc]initWithObjects:self.requestToken,self.requestSecret,verifier, nil]; 
NSMutableArray* keys = [[NSMutableArray alloc]initWithObjects:@"oauth_token", @"oauth_token_secret", @"oauth_verifier", nil]; 
NSDictionary* extraParams = [[NSDictionary alloc] initWithObjects:values forKeys:keys]; 

OAuth* oauth = [[OAuth alloc] initWithConsumerKey:OAUTH_CONSUMER_KEY andConsumerSecret:OAUTH_CONSUMER_SECRET]; 

NSString* authHeader = [oauth oAuthHeaderForMethod:@"POST" andUrl:ACCESS_TOKEN_URL andParams:extraParams]; 
NSLog(@"%@", authHeader); 
ASIHTTPRequest* request = [[ASIHTTPRequest alloc] initWithURL:[NSURL URLWithString:ACCESS_TOKEN_URL]]; 
[request addRequestHeader:@"Authorization" value:authHeader]; 

這是品紅告訴我的回報

2012-06-15 12:28:06.052 Versmissen[2175:707] 401 3-> HTTP/1.1 401 Authorization Required -> (null) -> http://{censored}/oauth/token 

中的access_token網址但是,401 3不在API中解釋的OAuth錯誤列表中。我不能爲了我的生活找出問題所在!

回答

0

固定。需要與request_secret簽署認證頭

的NSString * authHeader = [self.oauth oAuthHeaderForMethod:@ 「POST」 andUrl:ACCESS_TOKEN_URL andParams:extraParams andTokenSecret:self.requestSecret];

:)

相關問題