Yahoo возвращает «signature_invalid», когда я использую OAuth - PullRequest
1 голос
/ 27 июля 2011

Я пытаюсь разрешить пользователям моего веб-сайта войти в систему, используя свои учетные записи Yahoo / Gmail.
Gmail прошел нормально.но в Yahoo у меня есть следующий фрагмент php:

$this->options = array('consumer_key'   => 'My Key from Yahoo', 
    'consumer_secret' => 'My Secret ',
    'server_uri' => 'https://www.yahoo.com',
    'request_token_uri'=> 'https://api.login.yahoo.com/oauth/v2/get_request_token',
    'authorize_uri' => 'https://api.login.yahoo.com/oauth/v2/request_auth',
    'access_token_uri'=> 'https://api.login.yahoo.com/oauth/v2/get_token',);
$getAuthTokenParams = array(
    'xoauth_lang_pref'  => 'en-us',
    'oauth_callback'    => $this->callback_url);//callback to my page
$tokenResultParams = OAuthRequester::requestRequestToken($this->options['consumer_key'], 0, $getAuthTokenParams);

теперь Yahoo дает

HTTP/1.1 401 Forbidden
Date: Wed, 27 Jul 2011 09:12:19 GMT
P3P: policyref="http://info.yahoo.com/w3c/p3p.xml", CP="CAO DSP COR CUR ADM DEV TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC GOV"
WWW-Authenticate: OAuth oauth_problem=signature_invalid
Connection: close
Transfer-Encoding: chunked
Content-Type: application/x-www-form-urlencoded

oauth_problem=signature_invalid

in https://developer.apps.yahoo.com/projects, я выбрал:

delicious social bookmarking (read/write)
Contacts (read)
Social Directory (read/write)

кто-нибудь сталкивался с такой же проблемой?я сделал что-то не так?
Спасибо за вашу помощь

1 Ответ

1 голос
/ 28 июля 2011

Как я обнаружил вчера, токен Yahoo огромен. Это означает, что oauth-php плохо хранит его, поэтому вы получаете плохую подпись. Вот мое решение проблемы: Как использовать Yahoo! API с библиотекой oauth-php?

...