Sure, here's the high level workflow:
1. Navigate your user to http://mlogin.yahoo.com. This page presents the user will all 3 authentication methods (Yahoo, Google, and Facebook).
2. When the user authenticates, regardless of which method/provider, they will be redirected back to the same Yahoo landing page. You need to capture this redirect in your code, and automatically redirect the user from the Yahoo landing page to the xoauth_request_auth_url returned by making the initial request for a request token (see Yahoo's OAuth Flow).
3. When you redirect the user to xoauth_request_auth_url, they will be presented with the authorization page (and not the authentication page) since they are already authenticated. The main issue was that if you just redirected them straight to xoauth_request_auth_url without doing #1 and #2, then the authentication page that you got only had Yahoo as a provider (no Google or Facebook links).
4. The rest of what you need to do is described by the OAuth Flow.
Hope that helps.
Jayson