-1

Login Page with Google and Facebook buttons


I've been researching this for over a day now and I'm running out of things to try. I'm building a desktop application that will use private Yahoo APIs. I want the user to be able to login with their Yahoo account *or* Google/Facebook accounts.

At this point, I can get a couple of things to work. I'm able to use the normal oAuth flow with the call to:
https://api.login.yahoo.com/oauth/v2/get_request_token?...

And, able to get an xoauth_request_auth_url for the login page. This page does not have the additional provider buttons (Google, Facebook).

So, I tried the openID + oAuth flow by displaying the page rendered by the following url:
https://open.login.yahooapis.com/openid/op/auth?openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.mode=checkid_setup&openid.claimed_id=http://specs.openid.net/auth/2.0/identifier_select&openid.identity=http://specs.openid.net/auth/2.0/identifier_select&openid.return_to=http%3A%2F%2Flocal.beyondfantasysports.com&openid.realm=http%3A%2F%2Flocal.beyondfantasysports.com&openid.ns.oauth=http%3A%2F%2Fspecs.openid.net%2Fextensions%2Foauth%2F1.0&openid.oauth.consumer=dj0yJmk9NG1WTWFYejRuSGVJJmQ9WVdrOVRFUkZOazlwTkdVbWNHbzlNVGc1TVRFNU1UYzJNZy0tJnM9Y29uc3VtZXJzZWNyZXQmeD03MQ--

The page that renders from that is also a Yahoo login page without the provider buttons.

Is there such a page from one payload/request that gives you those options (yahoo, facebook, google login buttons)? Or, do I have to create buttons for Google and Facebook myself?

Perhaps my openid params are incorrect?

Thanks for any help!
Jayson

by
3 Replies
  • Disregard, I was able to figure this out.
    0
  • Hi,
    Facing same problem.
    Can you pls tell how u fixed / figured it ?

    --
    Thanks,
    GR


    QUOTE(Jayson @ 18 Sep 2012 2:47 PM)
    Disregard, I was able to figure this out.
    0
  • 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
    0

Recent Posts

in OpenID General Discussion