1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OAuthにおける各登場人物とその役割を調べた

Posted at

リソースオーナー(Resource Owner)

リソースオーナーは、アクセスしたいデータやリソース(情報やサービス)の所有者、つまりユーザーのことです。リソースオーナーは、自身のデータにアクセスする権限を持っており、この権限を他のアプリケーション(クライアント)に委譲できる立場です。

例:リソースオーナーがユーザーである場合、ユーザーは自身のSNSデータ、写真、またはGoogleの連絡先リストなどのリソースを所有しています。

役割:アクセスを許可または拒否する権利を持っており、通常は認可サーバー経由でアクセス許可の操作を行います。

リソースサーバー(Resource Server)

リソースサーバーは、リソースオーナーのデータを実際に保存・管理しているサーバーで、クライアントのリクエストに応じてデータを提供します。リソースサーバーは、アクセスの際にクライアントからアクセストークンを受け取り、そのトークンが有効であればデータへのアクセスを許可します。

例:Google Driveのデータを保存しているGoogleのAPIサーバーや、Facebookのユーザープロフィールデータを保持しているFacebookのサーバーなどがリソースサーバーです。

役割:アクセストークンの認証を行い、有効なトークンであればクライアントに対してリソースを提供します。直接的な認証を行うのではなく、トークンを受け取ることで認可の確認を行います。

クライアント(Client)

クライアントは、リソースオーナーのデータにアクセスするために許可を求めるアプリケーションやサービスです。クライアントはリソースオーナーに代わり、リソースサーバーにアクセスを試みますが、アクセスを行うにはユーザーの許可が必要です。

例:ユーザーがSNSアカウントを使ってサインインする時に利用するサードパーティアプリや、フィットネスアプリがユーザーのGoogleカレンダーと同期するためにGoogleにアクセスをリクエストするケースなどです。

役割:リソースオーナーからアクセスの許可を得て、認可サーバーからアクセストークンを取得します。このアクセストークンを使ってリソースサーバーにアクセスし、必要なデータにアクセスします。

認可サーバー(Authorization Server)

認可サーバーは、リソースオーナーの認証を行い、クライアントにアクセストークンを発行する役割を担います。認可サーバーはリソースサーバーと同一である場合もありますが、分離して設置されることも多いです。

例:GoogleのOAuth 2.0 認可サーバーや、FacebookのOAuthサーバーなどが該当します。これらの認可サーバーは、ユーザーがアクセス権を許可したかどうかを確認し、クライアントにアクセストークンを発行します。

役割:リソースオーナーの認証を行い、認証が成功した場合にクライアントへアクセストークンを発行します。アクセストークンはリソースサーバーにアクセスする際に使用され、一定の有効期限が設定されています。

OAuth2.0フローの流れ(Authorization Code Flow)

1,リクエスト:ユーザーがクライアント(例:フィットネスアプリ)で、「Googleでログイン」ボタンを押します。この操作により、クライアントは認可サーバー(GoogleのOAuthサーバー)にアクセス権のリクエストを送信します。

2,認可ページ表示:認可サーバーはリソースオーナー(ユーザー)に、クライアントが特定のリソース(例:Googleの連絡先やカレンダー)にアクセスする許可を与えるかどうかを尋ねる画面を表示します。

3,認可コードの発行:ユーザーが許可すると、認可サーバーは一時的な認可コードをクライアントに発行します。

4,アクセストークンの取得:クライアントは認可サーバーに認可コードを送り、アクセストークンをリクエストします。認可サーバーは、認可コードが有効であれば、クライアントにアクセストークンを発行します。

5,リソースサーバーへのアクセス:クライアントはアクセストークンを用いてリソースサーバー(GoogleのAPIサーバー)にアクセスし、リソース(例:ユーザーのGoogleカレンダーのデータ)を取得します。

参考サイト

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?