Upgrade to Pro — share decks privately, control downloads, hide ads and more …

5minutes_learning_OAuth

maimu
March 25, 2023

 5minutes_learning_OAuth

maimu

March 25, 2023
Tweet

More Decks by maimu

Other Decks in Programming

Transcript

  1. 5分で学ぶ
    OAuth2.0
    Entaku.rb
    2023-03-24
    maimu

    View full-size slide

  2. 自己紹介
    名前:まいむ
    GitHub:https://github.com/maimux2x
    Twitter:https://twitter.com/maimux2x
    仕事でプロダクトマネジメントを担当する中で自分自身もサービス開発をしたいと思うよ
    うになりFjordBootCampでプログラマーを目指して学習中。
    餡子もカスタードも大好きな甘党です!

    View full-size slide

  3. LTテーマ
    5分で学ぶOAuth2.0

    View full-size slide

  4. テーマ選定理由
    FjordBootCampの卒業課題でGoogleカレンダーAPIを利用したサービスを開発したい
    と考えていて、認可の仕組みを理解したかった

    View full-size slide

  5. OAuth2.0とは?
    サードパーティアプリケーションによるHTTPサービスへの限定的な
    アクセスを可能にする認可フレームワーク

    View full-size slide

  6. どゆこと?

    View full-size slide

  7. 具体例
    ユーザー
    サードパーティアプリ
    (PDF編集アプリ等)
    HTTPサービス
    (Google OAuth )
    HTTPサービス
    (Googleドライブ)
    GoogleドライブからPDFのダウン
    ロードだけが許可される
    GoogleドライブにあるPDFデータ
    を加工して上書きしたい
    ユーザーの同意を得
    てPDF編集アプリにド
    ライブ内のPDFダウ
    ンロードを許可

    View full-size slide

  8. つまり
    OAuth2.0は「PDF編集アプリによるGoogleドライブへの限定的なアクセス」を可能にす
    るための仕組み

    View full-size slide

  9. ポイント:限定的なアクセス
    PDF編集アプリはGoogleドライブから「PDFデータのダウンロード」
    しか許可されていない
    万が一悪意あるアプリだったとしてもダウンロードしかできないため
    影響は最低限に抑えられる
    では、どうやって限定的なアクセスを実現しているのか?

    View full-size slide

  10. OAuth2.0の仕組み
    リソースオーナー
    クライアント
    認可サーバー
    リソースサーバー
    ①認可サーバーにリソースへのア
    クセス権を要求
    ②リソースオーナーへ
    の意思を確認
    ③アクセス権の委譲を
    同意
    ④クライアントに対し
    てアクセストークンを
    発行

    View full-size slide

  11. ポイント:アクセストークン
    ● 誰のどのリソースにどのような操作を行うことが許可されているか
    ○ 読み取り・書き込みなどの権限をスコープという仕組みで管理している
    ● 有効期限
    ○ 期限を過ぎたアクセストークンでリクエストするとリソースサーバーは権限委譲を拒否する
    認可サーバーがアクセストークンを発行し、クライアントがそのトークンを用いて操作のリ
    クエストをすることで、許可された操作のみが実行可能になる。

    View full-size slide

  12. まとめ
    ● OAuth2.0は「サードパーティアプリによるリソースへの限定的なアクセス」を可能に
    するための「アクセストークン発行方法のルール」
    ● サードパーティアプリとリソースオーナーの間で、権限委譲の確認を行い、事前に
    決められた権限のスコープに則ったアクセストークンを発行し、サードパーティアプ
    リに限定的な操作を許可している

    View full-size slide

  13. 参考資料
    ● 雰囲気でOAuth2.0を使っているエンジニアがOAuth2.0を整理して、手を動かしな
    がら学べる本(Auth屋 著)

    View full-size slide

  14. ご清聴ありがとうございました

    View full-size slide