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
43
なるほどGit講座 (追跡ブランチが理解できます!)
yoshisan
0
160
「自分の時間を生きる」キャリア論
yoshisan
1
93
小学生でもわかる SlackAPI×GAS
yoshisan
0
100
達人プログラマーになろう!
yoshisan
0
110
オブジェクト指向が"チョットワカル"スライド
yoshisan
0
110
Linuxについて"ほんのチョットワカル"スライド
yoshisan
1
95
Let's React!! "チョットワカル"の第一歩
yoshisan
1
170
ようこそ!!ココカラ勉強会へ!
yoshisan
0
110
Other Decks in Programming
See All in Programming
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
100
Hotwire or React? ~アフタートーク・本編に含めなかった話~ / Hotwire or React? after talk
harunatsujita
1
120
LLM生成文章の精度評価自動化とプロンプトチューニングの効率化について
layerx
PRO
2
190
What’s New in Compose Multiplatform - A Live Tour (droidcon London 2024)
zsmb
1
480
Amazon Qを使ってIaCを触ろう!
maruto
0
410
役立つログに取り組もう
irof
28
9.6k
EMになってからチームの成果を最大化するために取り組んだこと/ Maximize team performance as EM
nashiusagi
0
100
どうして僕の作ったクラスが手続き型と言われなきゃいけないんですか
akikogoto
1
120
タクシーアプリ『GO』のリアルタイムデータ分析基盤における機械学習サービスの活用
mot_techtalk
4
1.4k
Micro Frontends Unmasked Opportunities, Challenges, Alternatives
manfredsteyer
PRO
0
100
AI時代におけるSRE、 あるいはエンジニアの生存戦略
pyama86
6
1.2k
macOS でできる リアルタイム動画像処理
biacco42
9
2.4k
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Designing for humans not robots
tammielis
250
25k
Producing Creativity
orderedlist
PRO
341
39k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Become a Pro
speakerdeck
PRO
25
5k
Speed Design
sergeychernyshev
25
620
KATA
mclloyd
29
14k
Writing Fast Ruby
sferik
627
61k
Code Reviewing Like a Champion
maltzj
520
39k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Fireside Chat
paigeccino
34
3k
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ೝূͷߟ͑ʹͭͳ͕Δɻ