유효한 서명 키를 만들려고 해요 (지금 HMAC-SHA1 메서드를 사용하고 있습니다), 지금까지 여전히 유효하지 않습니다 (http://term.ie/oauth/example/client.php에서 온라인 테스트 서버를 사용하고 있습니다) :PHP Oauth가 서명 키를 작성합니까?
function _build_signature_hmac($base_url, $params, $consumer_key, $token_secret = '')
{
// Setup base-signature data
$data = 'POST&' . $base_url . '&';
// Sort the params array keys first
ksort($params);
// Attach params string
$data .= rawurlencode(http_build_query($params));
// Build the signature key
$key = rawurlencode($consumer_key) . '&' . rawurlencode($token_secret);
return base64_encode(hash_hmac('sha1', $data, $key));
}
이것은 인증되지 않은 토큰에 대한 요청이기 때문에 $ token_secret 문자열은 비어 있습니다. secret&
POST&http://term.ie/oauth/example/request_token.php&oauth_consumer_key%3Dkey%26oauth_nonce%3D0uPOn3pPUbPlzWx2cO6citRPafIni5%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1298745681%26oauth_version%3D1.0
그리고 $ 키는 다음과 같습니다 : secret&
키/비밀 번호가 모두 정확하고 'invalid signature'라는 서버의 응답이 나타납니다. . 내가 올바른 방법으로 건축하고 있는가?
나는, 먼저 자신의 단계에서 문자열 기반 서명을 생성하는 로직을 오토넷 제안 그래서 http://developer.netflix.com/resources/OAuthTest와 같은 테스트 페이지를 사용하여 서명 생성에 들어가기 전에 기본 문자열이 맞는지 확인할 수 있습니다. –
링크를 제공해 주셔서 감사합니다. NetFlix Oauth 서버는 또한 유효하지 않은 서명을보고하기 때문에 내 서명에 문제가 있다는 결론을 내리는 것이 안전하다고 생각합니다. –