情報確保支援士の勉強用メモ
OAuthとは
OAuthとは複数のWebサービス間において、認可(Authorization)情報を伝達するための仕様
OAuth1.0とOAuth2.0があるが、OAuth1.0はセキュリティに問題がある。
登場した背景
OAuthが登場した背景には、WebサービスのAPI公開と連携の増加、それに対する認可の仕組みが必要になった。
具体的にはFacebookやTwitterなどのSNSがAPIを公開し、他のサービスとの連携を始める中で、APIへのアクセスを認可する安全な方法が求められた
OAuthの登場人物
X(Twitter)アカウントでFANZAに会員登録する例を考える。
名前 | 説明 | 具体例 |
---|---|---|
リソースオーナー | リソースの持ち主 | Xアカウントを保有しているユーザ |
クライアント (OAuthクライアント) |
リソースオーナーの代わりにアクセス要求をする | FANZA |
認可サーバ | リソースオーナーを認証し、アクセストークンを発行する | Xの認可サーバ(API) |
リソースサーバ | リソースを管理する | X |
連携の流れ(ユーザ視点)
1.ユーザはFANZAに登録するためにサイトにアクセスする 2.FANZAは新規登録画面にて、登録方法としてXとの連携できることが提示される
3.ユーザはXの連携を選択する
4.Xから許可しても良いかという旨の表示がされる。これを承認する。
5.FANZAはユーザに登録する旨を表示され、連携を選択する
シーケンス
RFC 5849ではアクセストークンのやり取りの部分を定義しているとこのと