2011-07-27 5 views
1

私のウェブサイトのユーザーがYahoo/Gmailアカウントを使用してログインできるようにしようとしています。
Gmailはうまくいった。しかし、ヤフーでは、私は、次のPHPスニペットがありますOAuthを使用するとヤフーは「signature_invalid」を返します

 
$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はhttps://developer.apps.yahoo.com/projects

 
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 

を与える私が選択している:

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

は誰もが同じ問題に直面していますか?私は何か悪いことをしましたか?
助けてくれてありがとう

+0

あなたが要求しているアクセス権(連絡先、ソーシャルディレクトリなど)を変更すると、YahooはあなたのクライアントIDと秘密を変更することに注意してください。したがって、変更を加える前にこれらの値をコピーしても機能しません。最新の値を使用していることを確認してください。 –

答えて

1

yahooのトークンは巨大です。 oauth-phpはそれをうまく格納しないので、不正なシグネチャを取得することを意味します。ここに私の問題の解決策があります:How to use the Yahoo! API with the oauth-php library?

+0

私の友人は英雄です。 – Sid

関連する問題