0

Google ハイブリッド Openid (OpenId+OAuth1 [0]) プロトコルを介して認証されたユーザーがいます。Google の新しい API を使用するには、oauth2 ベースの認証に変更する必要があります。彼が openid ユーザーの 1 人であるかどうかを oauth2 ログイン後に知る方法はありますか?

IDは非常に異なって見えます。google_oauth2 のユーザー ID は次のようになります。

12345678901234567890

Google ハイブリッドのユーザー ID は次のようになります。

https://www.google.com/accounts/o8/id?id=AItOawnlIGFin5I0F059UdqSYbK9JmA99e99ms

これを組み合わせる方法はありますか?そのような openid ユーザー ID を取得するために行うことができる oauth ベースの呼び出しはありますか? ログイン目的で使用するため、ログインページに2つのGoogleログインボタンを配置したくありません. ユーザーがこれを理解しているとはとても思えません。

そのような問題を解決するための共通の戦略はありますか?

[0] https://developers.google.com/accounts/docs/OpenID#oauth

4

2 に答える 2

0

わかりました、私にはそれを行う方法があるようです。実装して確認する必要がありますが、理論的には次のように機能するはずです。

send user to oauth2 login 
    -> if known, log him in
    -> if unknown send him to openid with immediate mode
          -> if successfull log him in, associate the former oauth connection
          -> if error the user is unknown and will be created with his oauth token

ユーザーが Google でログインしていない場合、即時モードも失敗する可能性がありますが、oauth2 ダンスから戻ったばかりなので、その間にログアウトする必要があり、すぐにリダイレクトされるため、ほとんどありません。

于 2012-08-03T07:05:51.947 に答える
0

Google は、必要なことを行うOpenId/OAuth 呼び出しの組み合わせについて話しています。ただし、ドキュメント内のすべてのリンクは OAuth 1.0 へのものです。Google は OAuth 1.0 インターフェイスを廃止したため、OAuth 2.0 で動作することを確認するために調査する必要があります。

于 2012-08-03T00:16:15.197 に答える