【認証認可】OAuth2.0とは
概要
認可にあたる技術として、OAuth2.0(以降はOAuthと呼ぶ)の仕組みを概要レベルで解説する。
認証認可とは
認証認可とは、端的に述べると以下のようなものであり、OAuthは認可にあたる仕組みのことである。
認証:本人であることを確認・特定すること
認可:許可や権限を与えること
認証認可の詳細については、以下、参照。
OAuthとは
OAuthは認可にあたる仕組みのことであり、複数のWebサービス間で利用されるものである。
通常、複数のWebサービスを利用する場合、それぞれのサービスにログインして利用することになるが、OAuthを利用することで、最初に認可の設定を行えば、以降は、あるサービスから別のサービスをログインすることなく利用することが可能となる。
例えば、Aさんがブログを作成し、これをSNSでお知らせする場合で考えると、
OAuthを用いない場合は、Aさんはブログサイトにログインしてブログを作成し、次に、SNSにログインしてブログを作成したことをお知らせすることになる。
一方、OAuthを用いる場合は、Aさんはブログサイトにログインしてブログを作成すると、あからじめOAuthによる認可設定がなされているSNSに、自動でお知らせすることが可能となる。
OAuthの要素
では、OAuthによる認可はどのように行うのか。
OAuthはアクセスを許可する認可情報(アクセストークン)を使ってサーバー間の連携を実現しているが、下表にある要素により成立している。
OAuthの認可フロー
ここでは、先ほどのAさんの例を用いて、OAuthの認可フローのイメージをみていくことにする。
①クライアントであるブログが、SNSの認可サーバーにアクセストークンの発行を要求する。
②認可サーバーが、SNSのリソースオーナーであるAさんに、アクセストークンの発行を許可するか確認する。
③リソースオーナーであるAさんが、アクセストークンの発行を許可する。
④認可サーバーが、クライアントであるブログにアクセストークンを発行する。
⑤クライアントであるブログが、リソースサーバーであるSNSに、アクセストークンとともにお知らせを渡す。
⑥SNSにお知らせが投稿される。
以上が、OAuthの認可フローのイメージであり、これにより、個々のサービスにログインすることなく、あるサービスから別のサービスの呼び出しと利用が可能となる。
以上、OAuthを概要レベルで解説させていただきました。
なお、上記を動画にて解説したものは以下となります。
こちらもご参考にしていただけると幸いです。
Discussion