tumf合同会社
Web3とAIが得意な東京のシステム開発会社です
OAuth2.0 - tumf合同会社

OAuth2.0

Posted on 4月 30, 2024

RFC 6749は、“OAuth 2.0認可フレームワーク"について定義しています。ここでは、OAuth 2.0の重要な概念や仕組みを簡単に説明します。

OAuth 2.0は、インターネット上でユーザーのリソースへのアクセス許可を安全に委任するためのオープンスタンダードです。サービス間でユーザー情報の共有が必要な場合、そのユーザーのパスワードを渡す代わりに、ユーザーの同意に基づきアクセス権限を委任できます。例えば、ソーシャルメディアサイトがユーザーの代わりにメールサービスにアクセスして連絡先を取得する、というシナリオが考えられます。

主な要素は以下のとおりです:

  1. リソースオーナー(Resource Owner): リソース(データ)の所有者であり、通常はエンドユーザーです。

  2. クライアント(Client): リソースオーナーの代わりにリソースサーバーへのアクセスを要求するアプリケーションです。

  3. 認可サーバー(Authorization Server): クライアントにアクセストークンを発行し、認可を行うサーバーです。

  4. リソースサーバー(Resource Server): クライアントがアクセスを求めるリソースを持っているサーバーです。

  5. アクセストークン(Access Token): 認可サーバーがクライアントに発行する、リソースへのアクセスを許可するためのトークンです。

主なフローは以下のようになります:

  1. クライアントがリソースオーナーからリソースへのアクセス許可を要求します。
  2. リソースオーナーがこのリクエストを承認します。
  3. クライアントがリソースオーナーの承認を認可サーバーに提出し、アクセストークンを要求します。
  4. 認可サーバーがクライアントにアクセストークンを発行します。
  5. クライアントはこのアクセストークンを使用してリソースサーバーにアクセスします。

OAuth 2.0は、認可コードフロー、インプリシットフロー、パスワードクレデンシャルフロー、クライアントクレデンシャルフローなど、さまざまな認証フローをサポートしており、使うシーンによって適切なフローを選択します。