Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

どゆこと?

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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