OAuthとは

おーおーす

利用者が自分のパスワードを渡さずに、ほかのアプリ(クライアント)に、自分の資源への限られた範囲のアクセスを許可する(認可を委ねる)ための仕組み。OAuth 2.0が広く使われている。資源の持ち主(利用者)、クライアント、利用者の許可を得てアクセストークンを発行する認可サーバ、トークンを確かめて資源を返すリソースサーバの4つの役割からなる。OAuth自体は認可の仕組みで、ログイン(認証)に使うときは、IDトークンを加えたOpenID Connectを使う。

「OAuth」は、1分野の2問の練習問題に出てきます(Web技術の基礎など)。

この用語の分野: Web技術の基礎

OAuthの練習問題に挑戦

写真の印刷サービスのアプリが、利用者の許可を得て、別の会社の写真の保存サービスにある利用者の写真を読み出す。OAuth 2.0で、利用者に許可を求める画面を示し、利用者が許可するとアプリにアクセストークンを発行する役割はどれか。

  1. Aリソースサーバ
  2. B認可サーバ
  3. Cクライアント
答えと解説を見る

正解:B. 認可サーバ

OAuth 2.0には、資源の持ち主(利用者)、クライアント(印刷サービスのアプリ)、認可サーバ、リソースサーバ(写真を返すAPI)の4つの役割があります。認可サーバは利用者を確認して許可を得たうえで、範囲(スコープ)と期限を限ったアクセストークンをクライアントに発行します。クライアントはトークンを付けてリソースサーバのAPIを呼び出し、リソースサーバはトークンを確かめて写真を返します。利用者は写真の保存サービスのパスワードをアプリに渡さずに済み、許可をあとで取り消すこともできます。

OAuth 2.0とOpenID Connectの関係の説明として、正しいものはどれか。

  1. AOAuth 2.0は資源へのアクセスの許可(認可)を委ねる仕組みで、OpenID Connectはその上に、認証の結果を伝えるIDトークンを加えて、ログインに使えるようにしたものである
  2. BOAuth 2.0は利用者の認証の結果を伝えるための仕組みで、OpenID Connectはそれを使わずに、利用者のパスワードを連携する各サービスへ直接送って確かめる方式である
  3. COpenID Connectは、HTTPの通信を暗号化するためのプロトコルで、ログインの画面を送るときにTLSの代わりに使われる
答えと解説を見る

正解:A. OAuth 2.0は資源へのアクセスの許可(認可)を委ねる仕組みで、OpenID Connectはその上に、認証の結果を伝えるIDトークンを加えて、ログインに使えるようにしたものである

OAuth 2.0のアクセストークンは「この範囲の資源を使ってよい」という許可を表すもので、だれがログインしたかを確かめる目的には作られていません。OpenID Connectは、OAuth 2.0の流れに、署名を付けたJWTの形のIDトークンを加えます。IDトークンには、発行者、利用者の識別子、宛先のクライアント、有効期限などが入っていて、クライアントは署名と中身を確かめて、利用者がだれかを知ります。この仕組みは、ほかのサービスのアカウントでログインする機能や、シングルサインオンに使われています。

解説の中の「OAuth」

「OAuth」が出てくる問題(2問)

  1. 写真の印刷サービスのアプリが、利用者の許可を得て、別の会社の写真の保存サービスにある利用者の写真を読み出す。OAuth 2.0で、利用者に許可を求める画面を示し、利用者が許可するとアプリにアクセストークンを発行する役割はどれか。
  2. OAuth 2.0とOpenID Connectの関係の説明として、正しいものはどれか。

Web技術の基礎の参考書を探す PR

Amazonの検索結果へのリンクです。Amazonのアソシエイトとして、半導体教室は適格販売により収入を得ています。

関連する用語

JWT(JSON Web Token) イベントループ WebSocket HTTP HTTPステータスコード HTTPメソッド Cookie CORS(オリジン間リソース共有) サーバサイドレンダリング(SSR) JSON

用語集の一覧へ