OAuth徹底入門の読書感想文 -1章-

OAuth徹底入門を呼んだので概要と感想を書いていきます

1 OAuth2.0とは何か?そしてなぜ気にかけるべきなのか?

OAuth2.0とはAPIの権限移譲で用いられるプロトコル

例えば自分が写真保存サービスを利用しており、クラウド上に写真をあげているとする

今自分は別の写真印刷サービスを使って、クラウド上の写真を印刷したい

リソース所有者 (自分)、保護対象リソース (写真保存サービス)、クライアント (写真印刷サービス)

古き悪しき方法だと、クライアント (写真印刷サービス)に保護対象リソース (写真保存サービス)のクレデンシャル (idとpassword)を渡して、クライアントがリソース所有者のふりをして保護対象リソースにアクセスする

この方法だとリソース所有者のもつクレデンシャルをクライアントに共有することで漏洩の危険があるし、クライアントに保護対象リソースに対して全権を渡してしまう (写真保存サービスにログインするのと同じなので印刷だけでなく写真の追加や削除もできてしまう)

OAuthでは認可サーバーを用意し、クレデンシャルではなくアクセストークンを使用してクライアントが保護対象リソースにアクセスできるようにするため、クレデンシャル漏洩のリスクを下げ、大きすぎる権限をクライアントに渡すことを避けることができる

詳しくは下の記事で書きました

zwzw.hatenablog.com

まとめるとOAuthとはトークンの取得方法と使用方法について定めて権限委譲のためのプロトコル

感想

OAuthを使用して権限を委譲する流れを具体例と図を交えて解説してくれているのでイメージが湧きやすく理解しやすい

また、そもそもクレデンシャルの共有というアンチパターンを行なっている課題があり、それを解決するためにOAuthでは認可サーバーを用いてどういうことをしているのかという流れで書いてあり、なぜOAuthが良いのかということも腑に落ちた