文字で読みたい2分間OAuth講座 : (1) The Basic Concepts (2) Bearer and Sender Constrained Tokens

おはようございます!こんにちは! ritouです。

みんな知ってる Nat Sakimura 氏が YouTube で公開されている、いわゆる2分間OAuth講座ってのがあります。

www.youtube.com

英語で話されているものの、日本語字幕もあるし、とにかくわかりやすい。 しかし、世の中には変わった人もいるものです。 文章に落として説明してくれと頼まれましたので、2回ぶんずつ書いていくぞ!

(1) The Basic Concepts of OAuth

www.youtube.com

多くの人にOAuthは難しいと言われます。 しかし、地下鉄の乗り方がわかるなら、そんなに難しいことではありません。

OAuthとは、価値のある資源「Protected Resource」を保護するメカニズムです。

地下鉄に乗車することを考えてみましょう。 誰でもタダで乗れる訳ではありません。改札があります。 改札を通るためには、券売機で切符を買う必要があります。

OAuth では、券売機のことを Authorization Server, 切符のことを Access Token と呼びます。 Access Token は紙の切符のようにワンタイムのものや、定期のように有効期限が決められているものもありますが...とりあえずこれがあれば改札を通れます。 ということで、第1回でOAuthについて覚えておく必要があるのは

  • Authorization Server : 地下鉄の券売機
  • Protected Resources : 改札を通らなければ乗れない地下鉄
  • Access Token : 切符

の3点です。 次回は切符、つまり Access Token の種類について説明します。

(2) Bearer and Sender Constrained Tokens of OAuth

www.youtube.com

今回は2種類のAccess Tokenを紹介します。

  • Bearer Token : 第1回で説明した地下鉄の切符のようなトークン。所持していれば使えるので、他の人が拾っても使えます。
  • Sender Constrained Token : 利用者を制限するトークン。飛行機の搭乗券のように、利用者が指定されている、制限されているもの。

飛行機の搭乗券は通常、

  • 搭乗券の名前とパスポートに記載されている名前が一致している
  • パスポートの顔写真と搭乗者の顔が一致している

という2点を確認することで、搭乗者と搭乗券が紐づきます。

OAuthの場合、そのような紐付け、確認のために暗号鍵を利用します。 トークンに紐付く鍵を持っている必要があることから、"Holder of Key Token" とも呼ばれます。

OAuth 2.0では、これら2種類のトークンを扱えます。

リスクの低いユースケースではBearer Tokenが使われ、銀行取引などではUser Constrained Tokenが使われます。

こんなところでしょうか。

元がシンプルなやつを落とそうとすると結構時間かかりますね。 次回は(3), (4)について書きます。もうちょっと補足を増やすのが良さそう。

ではまた。

この投稿をみて、動画に興味を持っていただいた方は是非、チャンネルをサブスクライブしてください!!! www.youtube.com