1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

OAuth 2.0 完全に理解した

Posted at

OAuth 2.0 を完全に理解した

社内勉強会で OAuth 2.0 について発表した原稿を一般向けにも公開します。
https://algas.github.io/oauth2-study/

この記事では発表原稿の内容の一部を抜粋して紹介します。

この記事を読んで期待できる効果

  • OAuth 2.0 が怖くなくなる
  • OAuth 2.0 をどこでどう使えばいいか把握できる
  • RFC 6749 が読めるようになる

概要

  1. OAuth 2.0 とは何か
  2. RFC 6749 (OAuth2.0) を読む
  3. OAuth 2.0 の使い方

OAuth2.0とは何か

認証と認可

  • 認証: アクセスしたのが誰であるかを確認すること
  • 認可: リソースへのアクセス権限を与えること
    • OAuth はこっち
    • 認可自体は認証と関係ない(印鑑や切符は持ってれば誰でも使える)

RFC6749を読む

Roles (Page 6)

  1. Resource Owner: 認可を渡す役割
  2. Resource Server: 保護されたリソースをホストするサーバ
  3. Client: 認可をもらう役割
  4. Authorization Server: 認可のためのトークンを発行するサーバ

Protocol Flow (Page 7)

3行でわかるプロトコルの流れ

  1. Client -> Resource Owner: リソースにアクセスしたいので Grant ください
    (Grant をもらう)
  2. Client -> Authorization Server: Grant あるので Access Token ください
    (Access Token をもらう)
  3. Client -> Resource Server: Access Token あるのでリソースください
    (リソースをもらう)

OAuth2_Abstract_Protocol_Flow.png

Refresh Token (Page 10,47)

3行でわかる Refresh Token

  1. Client -> Resource Server: Access Token あるのでリソースください
    (Token が古いからダメ)
  2. Client -> Authorization Server: Refresh Token あるので Access Token ください
    (新しい Access Token と Refresh Token もらう)
  3. Client -> Resource Server: Access Token あるのでリソースください (2回目)
    (リソースをもらう)

ポイントは Resource Owner が出てこないこと

OAuth2_Refresh_Token.png

OAuth2.0の使い方

Roleごとに見たユースケース

  1. Resource Owner として OAuth 2.0 を利用する
    ユーザとしての利用(消費者側)
  2. Resource Server として OAuth 2.0 を利用する
    他のサービスに自社のリソースを使ってもらう(受動的)
  3. Client として OAuth 2.0 を利用する
    他のサービスのリソースを使う
  4. Authorization Server として OAuth 2.0 を利用する(能動的)
    認可サービスの運用(プラットフォーム側)

まとめ

この記事に抜粋した以外にも自分なりに OAuth 2.0 の仕組みを理解したことが書かれています。
https://algas.github.io/oauth2-study/

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?