ウェブサービス同士の連携でよく使われる「OAuth(オーオース)」とは、どのような仕組みですか?
1〜4キーで選択、Enterで回答できます
解説
正解は「アプリに、パスワードを渡さずに」で始まる選択肢です。OAuth は、あなたのアカウントでできる操作の一部を、パスワードを教えずに別のアプリへ許可(認可)するための仕組みです。現在広く使われているのは OAuth 2.0 というバージョンです。合鍵にたとえると分かりやすいパスワードは、家のすべての扉を開けられるマスターキーのようなものです。OAuth では、マスターキーを渡す代わりに「この部屋だけ」「今日だけ」使える合鍵を渡します。この合鍵にあたるのがアクセストークン(アプリがデータを取りに行くときに使う、期限付きの許可証)です。使える範囲が決まっている(例:カレンダーの閲覧だけ)。この範囲を scope と呼びます有効期限がある不要になったら取り消せるたとえば予定管理アプリが「Googleカレンダーへのアクセスを許可しますか?」と聞いてくる画面が、OAuth の同意画面です。「Googleでログイン」は OAuth だけでできているわけではない「OAuth はログインの仕組み」と覚えてしまう人は多いのですが、OAuth 自体は「何をしてよいか」を許可する仕組みです。「あなたが誰か」を確かめる仕組み(認証)ではありません。「Googleでログイン」のようなログイン機能は、OAuth 2.0 に認証の仕組みを加えた OpenID Connect という仕様で実現されています。他の選択肢が誤りである理由「ユーザー名とパスワードを照合して」は認証の説明です。上で触れたとおり、OAuth の役割は認証ではなく認可です。「ブラウザとサーバーの間の通信を暗号化」は HTTPS(TLS)の役割です。OAuth は HTTPS で使うことが前提ですが、暗号化そのものは行いません。「複数のサービスのパスワードをまとめて保存」はパスワードマネージャーの説明です。OAuth はそもそもパスワードを外部に渡さないための仕組みです。参考The OAuth 2.0 Authorization Framework(RFC 6749 日本語訳)RFC 6749: The OAuth 2.0 Authorization Framework