2011-07-27 63 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); 

现在雅虎给出

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

我选择了:

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

,有没有人遇到同样的问题?我做错了什么?
感谢您的帮助

+0

请注意,如果您更改了所请求的权限(联系人,社交目录等),雅虎将更改您的客户端ID和密码。因此,如果您在进行更改之前复制这些值,则无法使用。确保你正在使用最新的值。 –

回答