OAuth 2.0の簡単な説明

2672 ワード

この標準は抽象的で、多くの用語を使っていますので、初心者には分かりにくいです。実は複雑ではないです。簡単な類比を通して、OAuth 2.0とは一体何なのか分かりやすくします。
一、宅配便の問題
私は大きな団地に住んでいます。

団地には門限システムがあります。

入るときはパスワードを入力してください。

私はよくネットショッピングと出前をしています。毎日配達員が来ます。私は郵便配達員に門限システムを通して団地に入る方法を見つけなければなりません。

自分のパスワードを宅急便員に教えたら、彼は私と同じ権限を持っています。これはあまり適当ではないようです。もし彼が団地に入る権利をキャンセルしたいなら、面倒です。私自身のパスワードも変更しなければなりません。他の配達員にも知らせなければなりません。
郵便配達員が自由に団地に入ることができるようにする方法がありますか?また、団地住民のパスワードを知る必要がありません。そして彼の唯一の権限は配達です。他にパスワードが必要な場合、彼は権限がありません。
二、授権メカニズムの設計
そこで、授権の仕組みを設計しました。
第一歩目は、ゲート禁止システムのパスワード入力器の下に、ボタンを追加して「ライセンス取得」といいます。配達員はまずこのボタンを押して、授権を申請します。
第二のステップは、彼がボタンを押すと、家主の携帯電話がダイアログを開きます。誰かが許可を求めています。システムはまた、配達員の名前、勤務番号、所属の宅配便会社を表示します。
私は要求が事実であることを確認して、ボタンをクリックして、門限システムを教えます。彼に団地に入る権限を与えることに同意します。
第三のステップは、門限システムが私の確認を得てから、団地に入るトークンを宅配便員に表示する。トークンは、パスワードのような一連の数字であり、短い期間(例えば7日間)だけ有効である。
第四のステップは、宅急便員がセキュリティシステムにトークンを入力し、セルに入る。
ある人は、なぜ遠隔地で宅配便の人のためにドアを開けるのではなく、彼のために単独でトークンを生成するのですか?これは配達員が毎日配達に来るかもしれないので、翌日にはトークンを多重化することもできます。また、複数の門限があるセルもあり、郵便配達員は同じトークンを使ってそれらを通過することができます。
三、インターネットシーン
上記の例をインターネットに移すと、OAuthのデザインです。
まず、ユーザーデータを格納するネットワークサービスです。例えば、WeChatは私の親友情報を保存しています。これらの情報を得るには、WeChatの「門限システム」を経なければなりません。
第二に、宅配便のスタッフ(または宅配便会社)は第三者のアプリケーションで、ドアの禁止システムを通して、団地に入りたいです。
最後に、私はユーザー本人です。第三者のアプリケーションを許可してセルに入れて、私のデータを取得することに同意します。
簡単に言えば、OAuthは一種の授権メカニズムである。データの所有者は、システムに第三者アプリケーションを付与し、これらのデータを取得することで合意したとシステムに語った。システムは、暗号の代わりに第三者アプリケーションによって使用される短期的なエントリトークンを生成する。
四、トークンとパスワード
トークンとパスワードの役割は同じですが、システムに入ることができます。
(1)トークンは短期であり、期限が切れると自動的に無効になり、ユーザ自身は変更できない。パスワードは長期的に有効で、ユーザーが変更しないと変更されません。
(2)トークンはデータ所有者によって取り消されてもよく、すぐに無効になる。上記の例では、家主は随時に宅急便員のトークンをキャンセルすることができる。パスワードは通常他人にキャンセルされてはいけません。
(3)トークンは、セルの2番ゲートに入ることができるなどの権限範囲がある。ネットワークサービスにとって、読み取り専用トークンは読み書きトークンよりも安全である。パスワードは一般的に完全な権限です。
これらの設計は、トークンが第三者のアプリケーションに権限を与えられると同時に、いつでも制御可能であり、システムの安全を脅かすことがないことを保証している。これがOAuth 2.0の長所です。
なお、トークンを知っていれば、システムに入ることができる。システムは通常、再びアイデンティティを確認しないので、トークンは秘密にしなければなりません。トークンとパスワード漏れの結果は同じです。これもなぜトークンの有効期間が短いかという理由です。
OAuth 2.0は、トークンの発行方法の詳細について、非常に詳細に規定されている。具体的には、四つの授権タイプ(authorization grant)に分けられています。すなわち、四つのトークンを発行する方式は、異なるインターネットシーンに適用されます。次の記事では、この4つのタイプを紹介し、コードのインスタンスを提供します。
ここで、OAuth 2.0について簡単に説明した文章を紹介します。もっと関連OAuth 2.0の内容は私達の以前の文章を検索してください。または次の関連記事を引き続き閲覧してください。これからもよろしくお願いします。