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
0
17
OpenID Connect から学ぶ認証・認可
社内 LT で発表した内容に加筆・改訂したスライド
kumico
June 07, 2025
Tweet
Share
More Decks by kumico
See All by kumico
インタラクティブシェルのカスタマイズを楽しもう
devoc
0
48
Grafana Cloudとソラカメ
devoc
0
300
モダンターミナルエミュレータは画像を表示できるらしい
devoc
1
24
アプリケーションパフォーマンスの計測と改善の方法を勉強している話
devoc
11
3.3k
Other Decks in Technology
See All in Technology
Biz職でもDifyでできる! 「触らないAIワークフロー」を実現する方法
igarashikana
7
3.5k
20251024_TROCCO/COMETAアップデート紹介といくつかデモもやります!_#p_UG 東京:データ活用が進む組織の作り方
soysoysoyb
0
110
様々なファイルシステム
sat
PRO
0
250
オブザーバビリティと育てた ID管理・認証認可基盤の歩み / The Journey of an ID Management, Authentication, and Authorization Platform Nurtured with Observability
kaminashi
1
720
Azure Well-Architected Framework入門
tomokusaba
1
130
Retrospectiveを振り返ろう
nakasho
0
110
ストレージエンジニアの仕事と、近年の計算機について / 第58回 情報科学若手の会
pfn
PRO
3
850
AI時代、“平均値”ではいられない
uhyo
8
2.6k
AI機能プロジェクト炎上の 3つのしくじりと学び
nakawai
0
120
プレイドのユニークな技術とインターンのリアル
plaidtech
PRO
1
370
Observability — Extending Into Incident Response
nari_ex
1
450
オブザーバビリティが育むシステム理解と好奇心
maruloop
2
1.3k
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
Producing Creativity
orderedlist
PRO
347
40k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
640
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
658
61k
Leading Effective Engineering Teams in the AI Era
addyosmani
7
640
Mobile First: as difficult as doing things right
swwweet
225
10k
Six Lessons from altMBA
skipperchong
29
4k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
The Pragmatic Product Professional
lauravandoore
36
7k
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 ൃߦ͞Εͨ*%τʔΫϯɺϦϥΠϯάύʔςΟʔ ΫϥΠΞϯτ ͕ݕূՄೳ ͰɺΤϯυϢʔβʔͷͷͰ͋Δͱ৴པͰ͖Δ