F5 用語集

OAuth

OAuth とは何ですか?

OAuth は、認証情報を交換するために使用されるプロトコルであり、複数のオンライン サービスがユーザーの許可の下で相互作用できるようにします。 「OAuth 1.0」は2010年4月にRFC 5849として公開され、その後「OAuth 2.0」は2012年10月にRFC 6749として公開されました。

Instagram に写真を投稿し、それを Twitter で自動的に共有したいとします。 両方のサービスに手動でアクセスして同じ投稿を作成するのは面倒な場合があります。 代わりに、Instagram はクロスポストと呼ばれる機能を提供しており、API を使用して Instagram の投稿を Twitter などの他のソーシャル ネットワークで自動的に共有できます。 このプロセスは OAuth によって容易になります。

Twitter に投稿するには、通常、基本認証と呼ばれるユーザー ID とパスワードによる認証が必要です。 ただし、これらの機密資格情報を別のサービスと共有するのは危険です。 OAuth は、認証資格情報ではなく承認情報を交換し、タスクに対して限定的な権限を付与することでこの問題を解決します。

OAuth 用語では:

  • 認可を受けるサービス (Instagram など) は OAuth クライアントと呼ばれます。
  • 認可を許可するサービス (Twitter など) は OAuth サーバーと呼ばれます。
  • ユーザーはリソース所有者と呼ばれます。

プロセスを開始するには、まず OAuth クライアントがapplication名やドメインなどの詳細を指定して、OAuth サーバーに自身を登録する必要があります。 OAuth サーバーはクライアントが信頼できると判断した場合、クライアント ID を割り当てます。

ユーザー (リソース所有者) が承認を与えると、OAuth クライアントはユーザーを OAuth サーバーにリダイレクトします。 OAuth サーバーはユーザーを認証し、指定された権限を OAuth クライアントに付与するかどうかを尋ねます。 ユーザーが承認すると、サーバーはユーザーを OAuth クライアントにリダイレクトし、アクセス トークンを付与します。 このトークンは認可の証明として機能し、OAuthクライアントがOAuthサーバーのAPIにアクセスできるようにします。トークンは有効期限が切れるか、明示的に取り消されるまで有効です。