今日の本格的な頭脳トレーニングのセッションの後、3-legged OAuth 認証をかなりよく理解しているように感じます。私がまだ理解に苦しんでいるのは、ユーザー ID の使用です。これまで見てきた例はすべて、サンプル スクリプトの先頭にユーザー ID を任意に割り当てて実行しているように見えます。それは私を混乱させます。
私が見たサンプル コードのほとんどは、OAuth「セッション」を管理するためにユーザー ID と OAuth サーバーのコンシューマ キーを使用するという概念を中心にしているようです (この用語をブラウザの「セッション」と混同しようとしていないため、引用符で囲んでいます)。 」)。たとえば、私が見たデータベース サンプル コードは、ユーザー ID とコンシューマ キー フィールドの値に基づいて、関連するトークンやその他の情報を格納および取得します。
私は今、いくつかの競合する理解の断片が競合し、対立している不確実な状態にあります。
1) OAuth セッションの詳細レコードまたは「OAuth ストア」ルックアップに関する私の理解が正しければ、コンシューマー キーとユーザー ID フィールドを介して、接続するアプリケーションを使用する各ユーザーに対して異なるユーザー ID を持っている必要はありませんか? OAuthサーバーと?
2) 1 が正しい場合、別のユーザー用に独自のユーザー アカウントを作成する必要がないようにするにはどうすればよいですか? OAuth 対応サービスのフロント エンドとして機能するソフトウェアを作成しようとしているので、自分のユーザー レコードと付随するメンテナンスの頭痛の種を持つ必要はありません。代わりに、OAuth サーバーにパズルの終わりを処理させます。ただし、私のアプローチの欠点は、セッションごとにユーザーを再承認する必要があることです。これは、自分の永続的なユーザー アカウント/ID がないと、以前に付与された「取り消し済み」アクセス トークンを検索できなかったためです。正しい?
3) 私が気になっているのは、一部の OAuth サーバーが、未承認のトークンの要求中に動的に指定されたコールバック URL の受け渡しを許可せず、コンシューマー キーとユーザー ID を自分自身に渡すことを不可能にしているという記事を読んだことです。代わりに、開発者/消費者として登録するときにコールバック URL を指定するだけです。幸いなことに、私が扱っている OAuth サーバーではその機能が許可されていますが、そうでないものを扱っていたとしても、コンシューマ キーとユーザー ID のペアを使用するというアイデア全体に巨大なモンキー レンチが投げ込まれるのではないでしょうか。 OAuth セッションの詳細をインデックス化するには?