Post your normalized signature base string here and we can try to help you spot the problem. Or you can run the php script getreqtok.php in my oauth-yahoo tutorial and see the actual request and response that's flying by.
Thanks Joec. I played your php code and it works for both get and post.
I managed to reproduce a success/failure case to get request token.
First start with success case with use get and put all parameter in query string.
CODE
https://api.login.yahoo.com/oauth/v2/get_request_token?oauth_callback=oob&oauth_consumer_key=PRIVATE&oauth_nonce=-7082127284588197810&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1267130278&oauth_version=1.0&oauth_signature=zfldZ65FA1H9RQDCZTTB4sU3mwQ=
It return with expected result:
oauth_token=h5tbxrr&oauth_token_secret=PRIVATE&oauth_expires_in=3600&xoauth_request_auth_url=https%3A%2F%2Fapi.login.yahoo.com%2Foauth%2Fv2%2Frequest_auth%3Foauth_token%3Dh5tbxrr&oauth_callback_confirmed=true
The failure case is using Authorization header (http://oauth.net/core/1.0/#encoding_parameters) which used by signpost and works for other oauth providers.
CODE
URL:
https://api.login.yahoo.com/oauth/v2/get_request_token?oauth_callback=oob
Header:
Authorization: OAuth oauth_consumer_key="PRIVATE", oauth_version="1.0", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1267131075", oauth_nonce="3036187053120318961", oauth_signature="ouKINgayoZN%2BYGjwRUKK%2BT0YhMg%3D"
I verified the my oauth_signature which is identical with your php code when have same input.
Appreciated if you can confirm the success with Authorization header.