認可周りの復習を兼ねてまとめていきます。長くなるので複数記事に分けて書いていく予定。
初回の今回はざっくり概要編
OAuth2.0とは?
RFC 6749 (The OAuth 2.0 Authorization Framework) で定義されている。
The OAuth 2.0 authorization framework enables a third-party
application to obtain limited access to an HTTP service, either on
behalf of a resource owner by orchestrating an approval interaction
between the resource owner and the HTTP service, or by allowing the
third-party application to obtain access on its own behalf. This
specification replaces and obsoletes the OAuth 1.0 protocol described
in RFC 5849.OAuth2.0 は認可フレームワーク。
サードパーティのアプリケーションがHTTPサービスへの制限されたアクセス権を取得できるようにするためのもの。
リソース所有者(ユーザー)とHTTPサービスとの承認フローを経てリソース所有者の代わりとなるか、サードパーティアプリケーションがアクセス権を自身のものとして取得できるように(許可)するもの。
(なんかうまく訳せないですが笑。)
OAuth2.0の概要
- OAuth2.0は認可フレーム。
- クライアント(サードパーティアプリケーション)がリソース所有者の代わりに保護対象リソースへのアクセスを許可(委譲)するための手段
- アクセス権を許可(委譲)したことを示すために、認可サーバーからトークンを発行してもらう
- クライアントはこのトークンを使って保護対象リソースへアクセスする
用語
- リソース所有者・・・ブラウザを操作している人、ユーザー。
- 保護対象リソース・・・リソース所有者が持っている情報
- クライアント・・・リソース所有者の代わりに保護対象リソースにアクセスするサードパーティアプリケーション
- 認可サーバー・・・保護対象リソースが信頼しているサーバーでトークンを発行する
認可と認証
認証と認可は違う。
- 認証 (Authentication)は、通信の相手が誰であるかを確認すること。
- 認可 (Authorization)は、「特定の条件」に対して、リソースへのアクセス権限を与えること。