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
45
なるほどGit講座 (追跡ブランチが理解できます!)
yoshisan
0
170
「自分の時間を生きる」キャリア論
yoshisan
1
94
小学生でもわかる SlackAPI×GAS
yoshisan
0
100
達人プログラマーになろう!
yoshisan
0
110
オブジェクト指向が"チョットワカル"スライド
yoshisan
0
110
Linuxについて"ほんのチョットワカル"スライド
yoshisan
1
96
Let's React!! "チョットワカル"の第一歩
yoshisan
1
170
ようこそ!!ココカラ勉強会へ!
yoshisan
0
120
Other Decks in Programming
See All in Programming
GoとPHPのインターフェイスの違い
shimabox
2
190
データの整合性を保つ非同期処理アーキテクチャパターン / Async Architecture Patterns
mokuo
47
17k
Immutable ActiveRecord
megane42
0
140
『テスト書いた方が開発が早いじゃん』を解き明かす #phpcon_nagoya
o0h
PRO
2
220
Grafana Loki によるサーバログのコスト削減
mot_techtalk
1
130
Kubernetes History Inspector(KHI)を触ってみた
bells17
0
230
1年目の私に伝えたい!テストコードを怖がらなくなるためのヒント/Tips for not being afraid of test code
push_gawa
0
140
もう僕は OpenAPI を書きたくない
sgash708
5
1.6k
データベースのオペレーターであるCloudNativePGがStatefulSetを使わない理由に迫る
nnaka2992
0
150
負債になりにくいCSSをデザイナとつくるには?
fsubal
9
2.4k
Open source software: how to live long and go far
gaelvaroquaux
0
630
チームリードになって変わったこと
isaka1022
0
200
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
Practical Orchestrator
shlominoach
186
10k
Bootstrapping a Software Product
garrettdimon
PRO
306
110k
A designer walks into a library…
pauljervisheath
205
24k
Mobile First: as difficult as doing things right
swwweet
223
9.3k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Testing 201, or: Great Expectations
jmmastey
42
7.2k
How GitHub (no longer) Works
holman
314
140k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.6k
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ೝূͷߟ͑ʹͭͳ͕Δɻ