-1
트위터를 사용하여 시스템에 싱글 사인 인을 개발하는 작업이 주어졌으며 타사 API를 사용할 수 없습니다. 그러나 나는 CURL과 PHP를 사용할 수 있습니다. 이를 수행하는 가장 좋은 방법은 무엇입니까? 지금까지 나는 이것을 가지고 있지만 작동하지 않습니다. "oauth 서명 및 토큰의 유효성을 검사하지 못했습니다."라는 오류를 출력합니다.트위터 싱글 사인온 타사 API가없는 OAuth PHP
이 작업을 수행하는 방법에 대한 조언이 필요합니다.
$fields = array(
'oauth_callback' => 'http://www.mydomain.co.uk/redirect.php'
);
//url-ify the data for the POST
foreach($fields as $key=>$value) {
$fields_string .= $key.'='.$value.'&';
}
rtrim($fields_string, "");
echo $fields_string;
$curl = curl_init("https://api.twitter.com/oauth/request_token");
//Send auth data to twiter
curl_setopt($curl, CURLOPT_POST, count($fields));
curl_setopt($curl, CURLOPT_POSTFIELDS, $fields_string);
//Will return json object
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
//debugger
if($debug){
if(! curl_errno($curl)) {
$info = curl_getinfo($curl);
echo 'Took ' . $info[ 'total_time' ] . ' seconds to send a request to ' . $info[ 'url' ];
}
}
curl_close($curl);
echo $result;
"작동하지 않습니다": 작동하지 않는 이유는 무엇입니까? 오류가 있습니까? – Tchoupi
oauth 서명과 토큰을 검증하지 못했습니다. –
빈 문자열을 제공 한 이후로'rtrim()'은 아무 것도하지 않습니다. 당신은'http_build_query()'를 사용하여 매개 변수를 인코딩합니다. 'CURLOPT_POST'는 부울을 기대합니다. curl_error()를 사용하여 무슨 일이 일어나는지 알아 내야한다. 매개 변수에 문제가있을 수 있지만 표시되지 않습니다. '$ fields'에 어떤 매개 변수를 포함하는지 알려줄 수 있습니까? – Tchoupi