4

Google の API を使用するために OpenID を OAuth 2 で動作させようとしています。ユーザーが初めてログインするときに「アクセスを許可」する必要があるのは一度だけです。これが私がこれまでに持っている流れです:

  1. ユーザーが [Google でログイン] をクリックする
  2. 私のサーバーは、OpenID を使用してユーザーにサインインします。フェデレーテッド ログインを使用すると、OAuth リクエスト トークンを受け取ります。

https://developers.google.com/accounts/docs/OpenID#oauthから、次のステップはリクエスト トークンをアクセス トークンに交換することだと書かれています。ただし、これにはいくつかの問題があります。

  1. これは OAuth 1 API 呼び出しです。
  2. 検証者が必要です。検証者を受け取るためにユーザーが「アクセスを許可」する必要はありませんか? これはどのように連合されていますか?

助けてくれてありがとう!

4

1 に答える 1

7

OAuth 2.0 ベースの認証を使用する必要があります: https://developers.google.com/accounts/docs/OAuth2Login

これは OpenID Connect とも呼ばれます。

これにより、認証コードを使用してサイトにリダイレクトされます。次に、それをアクセス トークンと交換します。簡単な REST 要求で TokenInfo エンドポイントを呼び出すことにより、アクセス トークンを検証できます。これにより、単純なユーザー ID 識別子が得られます。

その後、名前やメールアドレスなどの詳細なプロファイル情報を取得するために電話をかけます。

この素晴らしいデモでどのように機能するかについて詳しく見ることができます: http://oauthssodemo.appspot.com/

于 2012-05-16T18:26:22.923 に答える