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
Golangci-lint v2爆誕: 君たちはどうすべきか
logica0419
1
140
Chrome Extension Techniques from Hell
moznion
1
160
Rollupのビルド時間高速化によるプレビュー表示速度改善とバンドラとASTを駆使したプロダクト開発の難しさ
plaidtech
PRO
1
180
Amazon CloudWatchの地味だけど強力な機能紹介!
itotsum
0
180
generative-ai-use-cases(GenU)の推しポイント ~2025年4月版~
hideg
1
230
The Efficiency Paradox and How to Save Yourself and the World
hollycummins
0
110
REALITY コマンド作成チュートリアル
nishiuriraku
0
100
KawaiiLT 登壇資料 キャリアとモチベーション
hiiragi
0
120
Dissecting and Reconstructing Ruby Syntactic Structures
ydah
1
770
SwiftUI API Design Lessons
niw
1
300
タイムゾーンの奥地は思ったよりも闇深いかもしれない
suguruooki
1
700
Empowering Developers with HTML-Aware ERB Tooling @ RubyKaigi 2025, Matsuyama, Ehime
marcoroth
2
760
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
522
40k
Being A Developer After 40
akosma
91
590k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
Typedesign – Prime Four
hannesfritz
41
2.6k
Site-Speed That Sticks
csswizardry
5
500
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Faster Mobile Websites
deanohume
306
31k
Writing Fast Ruby
sferik
628
61k
Git: the NoSQL Database
bkeepers
PRO
430
65k
It's Worth the Effort
3n
184
28k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.5k
What's in a price? How to price your products and services
michaelherold
245
12k
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ೝূͷߟ͑ʹͭͳ͕Δɻ