OAuth Web サーバーフローを理解する:ビアガーデンのたとえ
Securing Identity シリーズへようこそ!今回は、前回のビアガーデンのたとえを広げながら、OAuth Web サーバーフローをさらに掘り下げ、このフローの細かな仕組みを詳しく見ていきます。
ビアガーデンのたとえ、再び
前回のたとえでは、アクセストークン(たとえではリストバンド)を手に入れる流れを、ビアガーデンでビールを注文することになぞらえました。アクセストークンがないためにリソースサーバーがアクセスを拒否すると、クライアント(ロボット)があなたを認証サーバーへ案内します。認証サーバーはあなたの資格情報を確認するとアクセストークンを渡し、あなたはリソースサーバーから求めるデータにアクセスできるようになります。

第三者の登場:バーガーハウス
このたとえの拡張版では、第三者としてバーガーハウスが登場します。バーガーハウスは、あなたの資格情報を使ってビアガーデンのビールを手に入れる必要があります。この流れには、フロントエンドチャネル(安全性が低い、赤で表示)とバックエンドチャネル(安全性が高い、黒で表示)の両方が関わります。
流れを一歩ずつ:

バーガーハウスでの注文: あなたはバーガーハウスでビールを頼みますが、店にはビールがありません。
リダイレクト: あなたは安全性の低いフロントエンドチャネルを通じて、認証サーバーの公開 Web サイトへリダイレクトされます。
認証: あなたが Salesforce にログインすると、Salesforce は認可コード(青いコインで表示)を発行します。
認可コードの交換: バーガーハウスは認可コードを受け取り、安全なバックエンドチャネルを通じて認証サーバーに提示します。
トークンの受け取り: 認証に成功すると、バーガーハウスはアクセストークンと、場合によってはリフレッシュトークンを受け取ります。
データの要求: バーガーハウスはアクセストークンを使ってリソースサーバーにデータを要求し、自分のデータと組み合わせてあなたに提示します。
OAuth Web サーバーフローの主な要素:
2 つのチャネル: このフローには、安全性の低いフロントエンドチャネルと、安全なバックエンドチャネルがあります。
認可コード: 一時的な認可コードを安全な交換に使い、その後は破棄します。
営業許可: バーガーハウスがリソースオーナーの代わりに動くには、特別な許可(コンシューマー鍵とシークレット)が必要です。これで、安全で認可されたやり取りが保証されます。
まとめ
OAuth Web サーバーフローは複雑ですが、特に第三者が関わる場合、安全なデータアクセスに欠かせません。このフローは起こりうる攻撃を防ぎ、安全な取引とデータの完全性を守ります。
お楽しみに
自信を持って Salesforce Identity の旅に出かけましょう! さらなる知見やヒントは、この www.SteveTechArc.com と YouTube チャンネル @SteveTechArc (opens in a new tab) で。チャンネル登録して、Salesforce Identity の理解を深めてください。
アーキテクト仲間やアーキテクトを目指す人たちと統合の知識を共有して、世界を変える手助けを!
STA 3.12