2011-12-23 2 views
4

누구든지 역 인증을 사용하여 사용자의 OAuth 토큰을 성공적으로 얻을 수 있습니까? 내 앱에 역 인증 권한이 있지만 유효한 인증 토큰을받는 데 어려움을 겪고 있습니다. 나는 OAuthconsumer를 사용하고 있으며, 추가 x_auth_mode 모드에 대한 OAuth 호출을 수정하는 방법에 대해 다소 혼란 스럽다.Twitter 역방향 인증 iPhone

나는 사전에 어떤 통찰력을 크게 감상 할 수

Failed to validate oauth signature and token 

받고 감사를 계속!

답변

0

나는 과정이 실제보다 훨씬 더 복잡 것 정도로 뒤얽힌 seancook 예를 발견했다.

NSMutableURLRequest *rq = [TDOAuth URLRequestForPath:@"/oauth/request_token" POSTParameters:@{@"x_auth_mode": @"reverse_auth"} host:@"api.twitter.com" consumerKey:APIKey consumerSecret:APISecret accessToken:nil tokenSecret:nil]; 

[NSURLConnection sendAsynchronousRequest:rq queue:nil completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) { 
    id oauth = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 
    SLRequest *reverseAuth = [SLRequest requestForServiceType:SLServiceTypeTwitter requestMethod:SLRequestMethodPOST URL:[NSURL URLWithString:@"https://api.twitter.com/oauth/access_token"] parameters:@{ 
     @"x_reverse_auth_target": APIKey, 
     @"x_reverse_auth_parameters": oauth 
    }]; 
    reverseAuth.account = account; 
    [reverseAuth performRequestWithHandler:^(NSData *data, NSHTTPURLResponse *urlResponse, NSError *error) { 
     id creds = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 
     id credsDict = [NSMutableDictionary new]; 
     for (__strong id pair in [creds componentsSeparatedByString:@"&"]) { 
      pair = [pair componentsSeparatedByString:@"="]; 
      credsDict[pair[0]] = pair[1]; 
     } 
     NSLog(@"%@", credsDict); 
    }]; 
}]; 

내 예 TDOAuth를 사용하지만, 어떤 OAuth를 라이브러리 할 것입니다 : 여기에 역 인증의 간단한 본질이다.