Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
OpenID Connect から学ぶ認証・認可
Search
kumico
June 07, 2025
Technology
32
0
Share
OpenID Connect から学ぶ認証・認可
社内 LT で発表した内容に加筆・改訂したスライド
kumico
June 07, 2025
More Decks by kumico
See All by kumico
こんにちは DID
devoc
0
16
インタラクティブシェルのカスタマイズを楽しもう
devoc
0
200
Grafana Cloudとソラカメ
devoc
0
350
モダンターミナルエミュレータは画像を表示できるらしい
devoc
1
40
アプリケーションパフォーマンスの計測と改善の方法を勉強している話
devoc
11
3.4k
Other Decks in Technology
See All in Technology
20260516_SecJAWS_Days
takuyay0ne
2
300
全社統制を維持しながら現場負担をどう減らすか〜プラットフォームチームとセキュリティチームで進めたSecurity Hub活用によるAWS統制の見直し〜/secjaws-security-hub-custom-insights
mhrtech
1
380
【関西製造業祭り2026春】現場を変える技術はここまで来た〜世界最大の製造業見本市から持って帰ってきたもの〜
tanakaseiya
0
130
ESP32 IoTを動かしながらメモリ使用量を観測してみた話
zozotech
PRO
0
110
拝啓、あの夏の僕へ〜あなたも知っているApp Runnerの世界〜
news_it_enj
0
240
AIが盛んな時代に 技術記事を書き始めて起きた私の中での小さな変化
peintangos
0
370
Databricks 月刊サービスアップデートまとめ 2026年04月号
tyosi1212
0
110
AI時代の品質はテストプロセスの作り直し #scrumniigata
kyonmm
PRO
4
1.4k
Purview Endpoint DLP 動かしてみた
kozakigh
0
340
AIと乗り切った1,500ページ超のヘルプサイト基盤刷新とさらにその先の話
mugi_uno
2
330
AIエージェントの支払い基盤 AgentCore Payments概要
kmiya84377
2
170
ブラウザの投機的読み込みと投機ルールAPIを理解し、Webサービスのパフォーマンスを最適化する
shuta13
3
300
Featured
See All Featured
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
280
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
54k
Tell your own story through comics
letsgokoyo
1
920
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
34
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
290
RailsConf 2023
tenderlove
30
1.4k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.9k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
110
Faster Mobile Websites
deanohume
310
31k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
Transcript
5BLVNJ,BUBTF 0QFO*%$POOFDU͔ΒֶͿ ೝূɾೝՄ
ࣗݾհ w 5BLVNJ,BUBTF w (POFPWJN5FSSBGPSN w ❤🍜ήʔϜΞχϝ ˡ࠷ۙϋϚͬͨήʔϜ
0QFO*%$POOFDUͬͯͳΜ͚ͩͬʁ
0"VUIYೝՄͷͨΊͷϓϩτίϧ 0QFO*%$POOFDU0"VUIYΛϕʔεʹೝূʹ͑Δ Α͏ʹ֦ு༷ͨ͠
0"VUIYೝՄͷͨΊͷϓϩτίϧ 0QFO*%$POOFDU0"VUIYΛϕʔεʹೝূʹ͑Δ Α͏ʹ֦ு༷ͨ͠ Α͘ݴΘΕΔɾɾɾ🤔
ೝূɾೝՄΛ໌֬ʹݴޠԽ͢ΔͷϜζΠͷͰͦΕͧΕͷڍಈ ʹ͍ͭͯগ͠ਂ۷Γͯ͠ΈΔ
0"VUI αʔυύʔςΟΞϓϦέʔγϣϯʹΑΔ)551αʔϏεͷݶఆతͳΞΫηε ΛՄೳʹ͢ΔೝՄϑϨʔϜϫʔΫ IUUQTPQFOJEGPVOEBUJPOKBQBOHJUIVCJPSGDKBIUNM
ϦιʔεΦʔφʔ ΫϥΠΞϯτ ೝՄαʔόʔ Ϧιʔεαʔόʔ
ϦιʔεΦʔφʔ ΫϥΠΞϯτ ೝՄαʔόʔ Ϧιʔεαʔόʔ ϦιʔεαʔόʔͷϦιʔεʹ ରͯ͠ૢ࡞ ᶃ
ϦιʔεΦʔφʔ ΫϥΠΞϯτ ೝՄαʔόʔ Ϧιʔεαʔόʔ ೝՄαʔόʔʹରͯ͠ΞΫηε ݖΛཁٻ ᶃ ᶄ
ϦιʔεΦʔφʔ ΫϥΠΞϯτ ೝՄαʔόʔ Ϧιʔεαʔόʔ ᶃ ᶄ ᶅ ϦιʔεͷΞΫηεݖΛΫϥΠΞϯτ ʹҕৡ͢Δ͜ͱͷಉҙ֬ೝ
ϦιʔεΦʔφʔ ΫϥΠΞϯτ ೝՄαʔόʔ Ϧιʔεαʔόʔ ᶃ ᶄ ᶅ ݖݶΛҕৡ͢Δ͜ͱʹಉҙ ᶆ
ϦιʔεΦʔφʔ ΫϥΠΞϯτ ೝՄαʔόʔ Ϧιʔεαʔόʔ ᶃ ᶄ ᶅ ݖݶ͕ҕৡ͞Εͨূͱͯ͠ΞΫηε τʔΫϯΛΫϥΠΞϯτʹൃߦ ᶆ
ᶇ
ϦιʔεΦʔφʔ ΫϥΠΞϯτ ೝՄαʔόʔ Ϧιʔεαʔόʔ ᶃ ᶄ ᶅ ΞΫηετʔΫϯΛͬͯϦιʔε αʔόʔʹରͯ͠ಛఆͷૢ࡞Λߦ͏ ᶆ
ᶇ ᶈ
ϦιʔεΦʔφʔ ΫϥΠΞϯτ ೝՄαʔόʔ Ϧιʔεαʔόʔ ᶃ ᶄ ᶅ Ϧιʔεαʔ όʔΞΫηετʔΫϯͷ༗ޮੑͱ ඥͮ͘ݖݶΛ֬ೝ͠ɺͳ͚ΕϨ
εϙϯεΛฦ͢ ᶆ ᶇ ᶈ ᶉ
0"VUI w ҎԼͷάϥϯτλΠϓ͕ఆٛ͞Ε͍ͯΔ w ೝՄίʔυ w ΠϯϓϦγοτ w ϦιʔεΦʔφʔύεϫʔυΫϨσϯγϟϧ w
ΫϥΠΞϯτΫϨσϯγϟϧ IUUQTPQFOJEGPVOEBUJPOKBQBOHJUIVCJPSGDKBIUNM
0"VUI άϥϯτλΠϓʹΑͬͯɺΞΫηετʔΫϯΛऔಘ͢ΔࡍͷΫϥΠΞϯτͱೝՄ αʔόʔͱͷΓͱΓํ๏͕มΘΔɻ ͜ͷ͋ͨΓ
0"VUI 0"VUIͷ࠷Ұൠతʹ༻͞ΕΔػೳΛ౷߹͓Αͼ؆ૉԽ͢ΔͨΊͷ ਐߦதͷ༷ w ҎԼͷάϥϯτλΠϓ͕ఆٛ͞Ε͍ͯΔ w ೝՄίʔυ 1,$& w ΠϯϓϦγοτ
w ϦιʔεΦʔφʔύεϫʔυΫϨσϯγϟϧ w ΫϥΠΞϯτΫϨσϯγϟϧ IUUQTEBUBUSBDLFSJFUGPSHEPDIUNMESBGUJFUGPBVUIW
ೝՄίʔυ 1,$& w ύϒϦοΫΫϥΠΞϯτ 41"ωΠςΟϒΞϓϦ ͱίϯϑΟσϯγϧΫϥ ΠΞϯτ྆ํʹରԠ͍ͯ͠Δ w ΞΫηετʔΫϯΛऔಘ͢ΔաఔͰɺΫϥΠΞϯτʹରͯ͠ϦιʔεΦʔφʔ ʹΑΔಉҙ͕ඞཁ
1,$&ͬͯͳʹ w ೝՄίʔυԣऔΓ߈ܸͷରࡦͱͯ͠ఏҊ͞Ε༷ͨɻ w 0"VUIͰਪ͞Ε͍͕ͯͨɺ0"VUIͰඞਢʹͳΔ
ೝՄίʔυ 1,$& w ύϒϦοΫΫϥΠΞϯτ 41"ωΠςΟϒΞϓϦ ͱίϯϑΟσϯγϧΫϥ ΠΞϯτ྆ํʹରԠ͍ͯ͠Δ w ΞΫηετʔΫϯΛऔಘ͢ΔաఔͰɺΫϥΠΞϯτʹରͯ͠ϦιʔεΦʔφʔ ʹΑΔಉҙ͕ඞཁ
ೝՄίʔυ 1,$&
ೝՄίʔυ 1,$& ϦιʔεαʔόʔͷϦιʔεʹ ରͯ͠ૢ࡞
ೝՄίʔυ 1,$& ೝՄαʔόʔʹରͯ͠ΞΫηε ݖΛཁٻ
ೝՄίʔυ 1,$& ϦιʔεͷΞΫηεݖΛΫϥΠΞϯτ ʹҕৡ͢Δ͜ͱͷಉҙ֬ೝ *%ύεϫʔυΫϥΠΞ ϯτΛհ͞ͳ͍
ೝՄίʔυ 1,$& ݖݶΛҕৡ͢Δ͜ͱʹಉҙ
ೝՄίʔυ 1,$& ϦμΠϨΫτͤͯ͞ɺ ೝՄίʔυΛฦ͢ URI_SCHEME://callback? code=xxxx
ೝՄίʔυ 1,$& τʔΫϯϦΫΤετ
ೝՄίʔυ 1,$& ΞΫηετʔΫϯɺϦϑϨογϡτʔ ΫϯΛฦ͢
ೝՄίʔυ 1,$& ΞΫηετʔΫϯΛͬͯϦιʔε αʔόʔʹରͯ͠ಛఆͷૢ࡞Λߦ͏
ೝՄίʔυ 1,$& Ϧιʔεαʔ όʔΞΫηετʔΫϯͷ༗ޮੑͱ ඥͮ͘ݖݶΛ֬ೝ͠ɺͳ͚ΕϨ εϙϯεΛฦ͢
1,$&ͬͯͳʹ w ೝՄίʔυԣऔΓ߈ܸͷରࡦͱͯ͠ఏҊ͞Ε༷ͨɻ w 0"VUIͰਪ͞Ε͍͕ͯͨɺ0"VUIͰඞਢʹͳΔ 1,$&Ͳ͜Ͱग़ͯ͘Δͷ🤔
ೝՄίʔυԣऔΓ߈ܸ
ѱҙ͋ΔΞϓϦ͕ಉ͡ 63*εΩʔϚͰىಈ͞Εͯ͠·͏ URI_SCHEME://callback?code=xxxx ೝՄίʔυԣऔΓ߈ܸ
ѱҙ͋ΔΞϓϦ͕τʔΫϯΛऔಘͰ͖Δ ೝՄίʔυԣऔΓ߈ܸ
1,$&͕͋Δͱʜ
ϦΫΤετݩ͕ೝՄίʔυϦΫΤετΛ ૹ͖ͬͯͨΫϥΠΞϯτͱಉҰͰ͋Δ͜ͱΛݕূ ͢Δ ೝՄίʔυԣऔΓ߈ܸ
ݕূ͕ࣦഊͨ͠߹ΞΫηετʔΫϯΛ ฦ͞ͳ͍ ೝՄίʔυԣऔΓ߈ܸ ✋
0"VUIY w ΫϥΠΞϯτ αʔυύʔςΟͷΞϓϦέʔγϣϯ ͕ϦιʔεΦʔφʔͷΫϨ σϯγϟϧΛ͏ΘΓʹΞΫηεݖݶҕৡ༻ΫϨσϯγϟϧ ΞΫηετʔ Ϋϯ Λ༻ͯ͠ɺอޢ͞ΕͨϦιʔεʹΞΫηε͢Δ w
0"VUIYͰΞΫηετʔΫϯΛ҆શʹΫϥΠΞϯτʹൃߦ͢ΔΈ͕ ඪ४Խ͞Ε͍ͯΔ
͜͜·Ͱ͕ɺ0"VUIYͷ
0QFO*%$POOFDU 0QFO*%$POOFDU 0"VUIϓϩτίϧͷ্ʹγϯϓϧͳΞΠσϯς ΟςΟϨΠϠʔΛ༩ͨ͠ͷͰ͋Δ IUUQTPQFOJEGPVOEBUJPOKBQBOHJUIVCJPPQFOJEDPOOFDUDPSF@KBIUNM
0QFO*%$POOFDU w 0"VUIͱಉ༷ͷϑϩʔ͕ఆٛ͞Ε͍ͯΔ ͜͜Ͱɺ0"VUIʹ߹Θ ͤΔ w ೝՄίʔυ 1,$&
w ΫϥΠΞϯτΫϨσϯγϟϧˡ*%BB4ʹΑ࣮ͬͯ͞Ε͍ͯΔ͕ ʮ0QFO*%$POOFDU$PSFJODPSQPSBUJOHFSSBUBTFUʯʹͳͦ͞ ͏ IUUQTPQFOJEGPVOEBUJPOKBQBOHJUIVCJPPQFOJEDPOOFDUDPSF@KBIUNM
جຊతʹ0"VUIYͱมΘΒͳ͍
ΤϯυϢʔβʔ ϦιʔεΦʔφʔ ϦϥΠϯάύʔςΟʔ ΫϥΠΞϯτ *%ϓϩόΠμ ೝՄαʔόʔ ϢʔβʔϓϩϑΟʔϧ"1* Ϧιʔεαʔόʔ ᶄ ᶅ
ᶆ ᶇ ᶈ ᶉ ᶃ 0QFO*%$POOFDU
ΤϯυϢʔβʔ ϦιʔεΦʔφʔ ϦϥΠϯάύʔςΟʔ ΫϥΠΞϯτ *%ϓϩόΠμ ೝՄαʔόʔ ϢʔβʔϓϩϑΟʔϧ"1* Ϧιʔεαʔόʔ ᶄ ᶅ
ᶆ ᶇ ᶈ ᶉ ᶃ 0QFO*%$POOFDU ΞΫηετʔΫɾϦϑϨογϡτʔΫϯ ʴ *%τʔΫϯ
ೝՄίʔυϑϩʔ ΞΫηετʔΫɾϦϑϨογϡτʔΫϯ ʴ *%τʔΫϯ
*%τʔΫϯ "id_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjFlOWdkazcifQ.ewogImlzc yI6ICJodHRwOi8vc2VydmVyLmV4YW1wbGUuY29tIiwKICJzdWIiOiAiMjQ4Mjg5 NzYxMDAxIiwKICJhdWQiOiAiczZCaGRSa3F0MyIsCiAibm9uY2UiOiAibi0wUzZ fV3pBMk1qIiwKICJleHAiOiAxMzExMjgxOTcwLAogImlhdCI6IDEzMTEyODA5Nz AKfQ.ggW8hZ1EuVLuxNuuIJKX_V8a_OMXzR0EHR9R6jgdqrOOF4daGU96Sr_P6q Jp6IcmD3HP99Obi1PRs-cwh3LO-p146waJ8IhehcwL7F09JdijmBqkvPeB2T9CJ NqeGpe-gccMg4vfKjkM8FcGvnzZUN4_KSP0aAp1tOJ1zZwgjxqGByKHiOtX7Tpd QyHE5lcMiKPXfEIQILVq0pc_E2DzL7emopWoaoZTF_m0_N0YzFC6g6EJbOEoRoS
K5hoDalrcvRYLSrQAZZKflyuVCyixEoV9GfNQC3_osjzw2PAithfubEEBLuVVk4 XUVrWOLrLl0nx7RkKU8NXNHq-rvKMzqg" w ϔομʔ w ϖΠϩʔυ w ॺ໊
*%τʔΫϯ
*%τʔΫϯΛͬͯϦϥΠϯάύʔςΟʔ͕ ϢʔβʔೝূͰ͖ΔΈ w ΤϯυϢʔβʔˡˠ*%ϓϩόΠμͰ*%18ͳͲΛͬͯຊਓ֬ೝ͕͞ ΕΔɻ *%ϓϩόΠμʹϩάΠϯࡁΈͰ͋Ε͜ͷखॱεΩοϓ͞ΕΔ߹ ͋Δ w *%τʔΫϯ͕ੜ͞ΕɺϦϥΠϯάύʔςΟʔʹൃߦ͞ΕΔ
w *%τʔΫϯʹॺؚ໊͕·Ε͍ͯΔͷͰɺϦϥΠϯάύʔςΟʔड͚औͬ ͨ*%τʔΫϯ͕ຊ͔Ͳ͏͔ վ᜵͞Ε͍ͯͳ͍͔ ͔֬ΊΒΔ w ϦϥΠϯάύʔςΟʔ*%τʔΫϯ͕*%ϓϩόΠμΛ௨ͯ͠ΤϯυϢʔβ ʔͷͷͰ͋Δͱ৴པ͢Δ͜ͱ͕Ͱ͖Δ
0QFO*%$POOFDU w 0"VUIYͰఆٛ͞Ε͍ͯΔΞΫηετʔΫϯΛൃߦ͢ΔΈʹ*%τʔΫ ϯ͕Ճ͞Εͨ w ൃߦ͞Εͨ*%τʔΫϯɺϦϥΠϯάύʔςΟʔ ΫϥΠΞϯτ ͕ݕূՄೳ ͰɺΤϯυϢʔβʔͷͷͰ͋Δͱ৴པͰ͖Δ