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
認証認可
Search
yosi
August 09, 2022
Programming
1
120
認証認可
yosi
August 09, 2022
Tweet
Share
More Decks by yosi
See All by yosi
自社開発のエンジニアの私が 大事にしてること(n=1)
yoshisan
1
49
なるほどGit講座 (追跡ブランチが理解できます!)
yoshisan
0
170
「自分の時間を生きる」キャリア論
yoshisan
1
97
小学生でもわかる SlackAPI×GAS
yoshisan
0
100
達人プログラマーになろう!
yoshisan
0
110
オブジェクト指向が"チョットワカル"スライド
yoshisan
0
110
Linuxについて"ほんのチョットワカル"スライド
yoshisan
1
100
Let's React!! "チョットワカル"の第一歩
yoshisan
1
180
ようこそ!!ココカラ勉強会へ!
yoshisan
0
130
Other Decks in Programming
See All in Programming
Enterprise Web App. Development (1): Build Tool Training Ver. 5
knakagawa
1
120
Qiita Bash
mercury_dev0517
2
220
状態と共に暮らす:ステートフルへの挑戦
ypresto
3
1k
KawaiiLT 登壇資料 キャリアとモチベーション
hiiragi
0
160
Vibe Coding の話をしよう
schroneko
12
3.4k
Orleans + Sekiban + SignalR でリアルタイムWeb作ってみた
tomohisa
0
180
大LLM時代にこの先生きのこるには-ITエンジニア編
fumiyakume
7
3.2k
「影響が少ない」を自分の目でみてみる
o0h
PRO
2
1.2k
REALITY コマンド作成チュートリアル
nishiuriraku
0
110
設計の本質:コード、システム、そして組織へ / The Essence of Design: To Code, Systems, and Organizations
nrslib
10
3.5k
Laravel × Clean Architecture
bumptakayuki
PRO
0
120
PHP で学ぶ OAuth 入門
azuki
1
220
Featured
See All Featured
Side Projects
sachag
453
42k
A Tale of Four Properties
chriscoyier
158
23k
Embracing the Ebb and Flow
colly
85
4.7k
Music & Morning Musume
bryan
47
6.5k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Why Our Code Smells
bkeepers
PRO
336
57k
Six Lessons from altMBA
skipperchong
28
3.7k
Thoughts on Productivity
jonyablonski
69
4.6k
The Cost Of JavaScript in 2023
addyosmani
49
7.7k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Writing Fast Ruby
sferik
628
61k
Transcript
ೝূɾೝՄ 2021/7/2(ۚ)ɹদాయ
ࠓճ࣮ࡍʹௐͯΈͯ,,, • ·ͣɺೝূೝՄͷԞ͕ਂ͍ʂʂʂ • ௐ͍ͯ͘͏ͪʹOAuthOpenID ConnectͳͲ৭ʑग़ͯ͘Δ • ೝূೝՄʁϩάΠϯͷ͜ͱΖʁ,,
ೝূͱೝՄʹ͍ͭͯ ೝূɹ(Authentication) • ௨৴ͷ૬ख͕୭(Կ)Ͱ͋Δ͜ͱ͔Λ֬ೝ͢Δ͜ͱ • Γࡁ·͠Ͱͳ͍͜ͱΛ֬ೝ͢Δ͜ͱ ೝՄɹ(Authorization) • ಛఆͷ݅ʹରͯ͠ɺϦιʔεΞΫηεݖݶΛ༩͑Δ͜ͱ
→ ݖݶΛ༩͑Δ͜ͱ
ೝূͱೝՄ HTTP statusͷ ೝূɹ(Authentication) • 401 Unauthorized —ɹೝূͷࣦഊ • ʮ͓·͑୭ͩΑʯ
ݴ༿ࣅͯΔ͚Ͳผͷ֓೦! ೝՄɹ(Authorization) • 403 Forbidden — ೝՄͷෆ • ʮཧղͨ͠ɺ͕ͩஅΔʯ
ೝূͷ ೝূɹ(Authentication) • ௨৴૬खͷID(ଐੑ)ΛͳΓ͢·͠Ͱͳ͍͜ͱΛ֬৴͢Δ͜ͱ ೝূཁૉ ݱ࣮ͷੈք ిࢠͷੈք ͋ͳͨͩΕʁ إɺɺॺ໊ච ੜମೝূ(ࢦɺೝূ)
ԿΛͬͯΔͷʁ ҹؑɺূ໌ॻɺΧʔυ ɹܞଳి,ిࢠূ໌ॻ, ηΩϡϦςΟʔτʔΫϯ ͋ͳͨͩΕʁ ߹ݴ༿ ύεϫʔυ
伴(key) ৣ(lock)
ೝՄ ͷ ೝՄɹ(Authorization) • ୭͔ʹ 伴Λ͢͜ͱɻ • ྫ͑ं݊ • ූΛ࣋ͬͯೖΕɺిंʹΕΔɻͳ͚ΕΕͳ͍ɻ
• ೝՄʹݩ֬ೝඞਢͰͳ͍ 伴ූ͔Βʮ୭͔ʯΘ͔Βͳ͍
1.Ϣʔβʔʹʮ伴(key)ʯΛ༩͑Δɻ 2.Ϧιʔεʹʮৣ(lock)ʯΛ͔͚Δɻ 3.ΞΫηε࣌ʹ伴Λͬͯղৣ͢Δɻ ϙϦγʔఆٛ ϙϦγʔࢪߦ
ΞΫηετʔΫϯ ɾೝূࡁΈϢʔβʔΛࣝผ͢ΔͨΊͷจࣈྻɻ ɾτʔΫϯɾɾɾʮূڌʯʮ͠Δ͠ʯʮʯ
ೝূͱೝՄ ͷີ݁߹ͷ ೝূɹ(Authentication)ɹͱɹೝՄɹ(Authorization) ɾ૬खA͞Μͩʂ ͔ͩΒΞΫηεڐՄ ɾ૬खA͞ΜͰͳ͍! ΞΫηεڐՄ͞Εͳ͍ ɾΞΫηε͕ڐՄ͞Εͨɺͭ·ΓA͞Μ(!?) ɾΞΫηε͕ڐՄ͞Εͳ͔ͬͨɺͭ·ΓA͞ΜͰͳ͍
→͜ͷ༷ʹೝূͱೝՄͷɺٯɾཪɾରۮ͕ग़ͯ͘Δɻ
ೝূͱೝՄ ͷ • ೝূʹجͮ͘ೝՄ ͜Ε͕ଟ͘ͷਓ͕ߟ͑Δύλʔϯɻ ྫʣӡస໔ڐॻͳͲ͕͍͍ྫɻ •
ೝՄʹجͮ͘ೝূ(!?) ྫ) ͜ͷਓA͞ΜͷՈͷ伴Λ࣋ͬͯΔ͔ΒɺA͞ΜͩͶ →͜Εͷߟ͕͑OAuthೝূͷߟ͑ʹͭͳ͕Δɻ