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
次世代認証プラットフォーム “Auth0” を使ってみた / Next Geneartion...
Search
Takahiro Tsuchiya
September 27, 2018
Technology
18
7.9k
次世代認証プラットフォーム “Auth0” を使ってみた / Next Geneartion Identity "Auth0"
* 外部認証基盤の話
* Auth0 / Amazon Cognito / Firebase Authentication / Netlify Identity の比較
* Auth0 を選んだ理由
Takahiro Tsuchiya
September 27, 2018
Tweet
Share
More Decks by Takahiro Tsuchiya
See All by Takahiro Tsuchiya
PicoRubyでLチカ
corocn
0
150
Kaigi on Rails 2024 - Rails APIモードのためのシンプルで効果的なCSRF対策 / kaigionrails-2024-csrf
corocn
11
7.5k
現場のエンジニアから見た採用担当との協働
corocn
7
3.1k
シリーズAをリファラル採用中心に走り抜ける / leaner-referral-engineer-2024
corocn
4
2.3k
捨てて加速するプロダクト開発 / sutete-speedup-product-development
corocn
3
740
リファラル採用にフルベットしてみた
corocn
3
4k
エンジニアとプロダクトマネージャーを兼任した1年間を振り返る / pdm-furikaeri
corocn
17
8.2k
育休のすゝめ #devsumi 2023
corocn
3
5.3k
GCPでRubyを動かしている話 / ruby on gcp
corocn
0
1k
Other Decks in Technology
See All in Technology
今日から始めるAmazon Bedrock AgentCore
har1101
4
410
Amazon S3 Vectorsを使って資格勉強用AIエージェントを構築してみた
usanchuu
3
450
SRE Enabling戦記 - 急成長する組織にSREを浸透させる戦いの歴史
markie1009
0
130
We Built for Predictability; The Workloads Didn’t Care
stahnma
0
140
茨城の思い出を振り返る ~CDKのセキュリティを添えて~ / 20260201 Mitsutoshi Matsuo
shift_evolve
PRO
1
340
Data Hubグループ 紹介資料
sansan33
PRO
0
2.7k
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
970
ブロックテーマ、WordPress でウェブサイトをつくるということ / 2026.02.07 Gifu WordPress Meetup
torounit
0
190
Codex 5.3 と Opus 4.6 にコーポレートサイトを作らせてみた / Codex 5.3 vs Opus 4.6
ama_ch
0
180
Embedded SREの終わりを設計する 「なんとなく」から計画的な自立支援へ
sansantech
PRO
3
2.5k
SREチームをどう作り、どう育てるか ― Findy横断SREのマネジメント
rvirus0817
0
310
CDKで始めるTypeScript開発のススメ
tsukuboshi
1
480
Featured
See All Featured
Paper Plane (Part 1)
katiecoart
PRO
0
4.3k
ラッコキーワード サービス紹介資料
rakko
1
2.3M
From π to Pie charts
rasagy
0
120
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Documentation Writing (for coders)
carmenintech
77
5.3k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.3k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
First, design no harm
axbom
PRO
2
1.1k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
76
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
エンジニアに許された特別な時間の終わり
watany
106
230k
Transcript
࣍ੈೝূϓϥοτϑΥʔϜ “Auth0” ΛͬͯΈͨ ςΫʮ࠷ۙͷWebٕज़ʹ͍ͭͯϫΠϫΠޠΔձʯ 2018/09/27ʢʣ Takahiro Tsuchiya / @corocn
Agenda • ࣗݾհ • ֎෦ೝূج൫ͷ • αʔϏεͷൺֱ • ೝূج൫αʔϏε “Auth0”
ͷհ
ࣗݾհ • @corocn / Takahiro Tsuchiya / و༟ • Misoca
Inc. • Auth0 Ambassador
ຊΛॻ͖·ͨ͠ ٕज़ॻయ4Ͱ൦ AmazonͰൢചத ·ͨվగ͍ͨ͠ʂ
ࠓͷ͓
ΣϒΞϓϦέʔγϣϯͱ ֎෦ೝূج൫ͷ
WebαʔϏεΛ࡞ΔͳΒೝূ ͷΈඞਢʹͳΔ
ͰຊʹϢʔβʔʹఏڙ͠ ͍ͨͷೝূ͡Όͳ͍
ͬͱαʔϏεͷຊ࣭తͳͱ ͜Ζʹ࣌ؒΛ͍͍ͨ
Ͱೝূͬͯ͘͠ͳ͍ʁ શવΘ͔Γ·ͤΜ ਓྨʹೝূ͍͠
Ͳ͏ͬͯػೳ࣮͢Δʁ
ࣗͰҰ͔Β࣮͢Δ • Βͳ͍΄͏͕͍͍ • ηΩϡϦςΟϗʔϧΛ࡞Δࣗ৴͕͋Δ • ंྠͷ࠶ൃ໌ • ηΩϡϦςΟͷ࣮ϊϋ֎ʹग़ͯ͜ͳ ͍ͷͰ͍͠
Frameworkඪ४ͷϥΠϒϥϦΛ͏ • ͋ΔఔϨʔϧʹΕΔ • ࠷ݶͷػೳ͔͠ͳ͍ • ڽͬͨॲཧͰ్ʹഁ͕ͪ͠ • RailsͷDevise? Sorcery?
ΈΜͳਏ͍ਏ͍ͱ ݴ͍ͬͯͬͯΔΑ͏ͳɾɾɾ
https://qiita.com/cigalecigales/items/73d7bd7ec59a001ccd74
৽͍༷͠ʹैͰ͖·͔͢ʁ • ύεϫʔυೝূ • SSO, Social Login, ύεϫʔυϨε • MFAʢଟཁૉೝূʣ
• FIDO 1.0 ʢU2F, UAFʣ • FIDO 2.0ʢU2F + UAFʣ, WebAuthn API ͙ͦ͢͜·Ͱ ഭ͍ͬͯΔ
ͦ͏ͩ ֎෦ͷೝূج൫ ͓͏
ҙ͍ͨ͜͠ͱ
• ֎෦αʔϏεΛ͑ηΩϡϦςΟϦεΫ͕ ফ͑ΔΘ͚Ͱͳ͍ • ࿈ܞ෦։ൃऀͰ࣮͢Δ • ͪΌΜͱཧղ͔ͯ͠ΒΘͳ͍ͱવࣄނ • ͰͪΌΜͱ͑େ෯ʹ࣮࣌ؒอकί ετΛݮͰ͖Δ
͍Ζ͍Ζࢼͨ͠
ࢼͯ͠ΈͨೝূαʔϏε • Amazon Cognito • Firebase Authentication • Netlify Identity
• Auth0 ← ࠷ऴతʹ͜Εʹམͪண͘
Amazon Cognito • AWSͷਂ͍͕ࣝཁٻ͞ΕΔ • UserPool, ID PoolͳͲ֓೦͕͍͠ • ֶशίετ͕ߴ͍
• αʔϏε͕AWSͬͨΓͳΒݕ౼͍͍ͯ͠ ͚Ͳɺݕ౼͢Δͷʹ͕͔͔࣌ؒΓͦ͏
Firebase Authentication • ແྉʢҰ෦ΦϖϨʔγϣϯʹ੍ݶ༗Γʣ • γϯϓϧɻμογϡϘʔυ͔ͳΓ؆ૉɻ • αʔϏεܧଓੑͳ͠ • GCPଞFirebaseαʔϏεΛ͏લఏͳΒ˕
• ࡉ੍͔͍͕ॻ͚ͳ͍ͷ͕ਏ͍ • υΩϡϝϯτಡΈͮΒ͍
Netlify Identity • ָ࣮ͩͬͨ • ػೳ͕Γͯͳͯ͘ɺϩʔΧϧͰͷσόοά ͕ࠔͩͬͨͷͰΪϒΞοϓ • ݱࡏվળ͍ͯ͠Δ͔͠Εͳ͍
Auth0 • ֶशίετͷ͞ɺ֦ுੑͷߴ͕͞࠷ߴ • ࠷ऴతʹ͜Εʹམͪண͘
None
Auth0ͬͯʁ • Ϋϥυೝূϕϯμʔ • IDaaSʢIdentity as a Serviceʣ • ຊࣾ
Bellevue, Washington • ϑϧϦϞʔτϫʔΫΛ࠾༻ • Company OffsiteʢΧϯΫϯͱ͔ύφϚͱ͔ʣ
IDaaS • اۀID͕ࢥ͍ු͔Ϳ͔ʢOkta, OneLoginͱ͔ʣ • Auth0ͷ߹C͚Ͱ͍͍͢ҹ •
ͱΓ͋͑ͣ৮ͬͯࢼͤΔ • جຊແྉͰ͑Δʢ22ؒEnterprise൛͕ࢼͤΔʣ • 7000Ϣʔβʔɺແ੍ݶϩάΠϯ • ύεϫʔυϨεରԠ • ΈࠐΈϑΥʔϜʢLockʣ← ͋ͱͰ
• ιʔγϟϧϩάΠϯʢ2ݸ·Ͱʣ • ແ੍ݶͷϧʔϧఆٛ ← ͋ͱͰ
๛ͳνϡʔτϦΞϧ
https://auth0.com/docs
Mobile
SPA
Web App 1
Web App 2
Backend API
• νϡʔτϦΞϧ͕Ұ௨Γἧ͍ͬͯΔ • JWT Handbook ೝূܥͷϒϩά • ͘ຊޠ൛Ͱͳ͍͔ͳʙʁʢνϥο • jwt.io
powered by Auth0 • ϒϥβͰ͑ΔJWTͷσόοάπʔϧ
None
Lock
None
Lock • Auth0͕ఏڙ͢ΔࠐΈϩάΠϯϑΥʔϜ • ֤छϓϥοτϑΥʔϜରԠ • ଟݴޠରԠ • ෦Ͱ Auth0
SDKʢauth0.jsͳͲʣΛ͍ͬͯΔ • ࡉ੍͔͍ޚ͕ඞཁͳ߹ͪ͜ΒΛ • νϡʔτϦΞϧ auth0.jsΛ࣮ͬͨ
• Social LoginͳͲɺઃఆLockʹଈ࣌ө • Auth0͕อ༗͢ΔdevΩʔ͕ॳظͰઃఆ͞Εͯ ͍ΔͷͰɺͱΓ͋͑ͣࢼͤΔʢخ͍͠ʣ • ਖ਼ࣜʹ͏߹औಘͯ͠ઃఆ͢Δ͜ͱ
Webtask
Webtask • AWS LambdaϥΠΫͳαʔόϨεڥΛࣗલ Ͱอ༗͍ͯ͠Δ • JavaScriptɺC#Ͱهड़Մ • Node v8ͳͷͰasync
await • WebtaskʹΑͬͯߴ͍֦ுੑΛ࣮ݱ͍ͯ͠Δ
Rule
Rule • ೝূػೳͷ֦ுRuleͰઃఆ • ྫ1ʣυϝΠϯΛ੍ݶ͍ͨ͠ • ྫ2ʣ໊دͤΛ࣮ݱ͍ͨ͠ • ࣮ߦج൫Webtask •
ϢʔεέʔεผʹେྔͷςϯϓϨʔτ͕ఏڙ͞Ε ͍ͯΔͷͰɺগ͠मਖ਼͢Δ͚ͩͰ͍͍ͩͨಈ͘
Rule: Template
Rule: Whitelist
ͦͷଞ • ϢʔβʔμογϡϘʔυ͕ඪ४උ • Auth0 GuardianʢMFAʣ • FIDO2ͷରԠʁ → AddonͰՄೳ
·ͱΊ • αʔϏε։ൃαʔϏεͷຊ࣭ʹྗ͖͢ • ࣮ίετݮͷͨΊʹɺ֎෦ͷೝূج൫Λ ͏ͷ͋Γ • Auth0ଟػೳͰ֦ுੑ͕ߴ͍ͷͰɺબࢶͱ ͯ͠༗ •
ϦεΫΛͪΌΜͱཧղ͔ͯ͠Β͏͠
͋Γ͕ͱ͏͍͟͝·ͨ͠