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 Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  6. どゆこと?

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide