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
Angular x Auth0 複数サービス展開での認証基盤を考える
Search
Hayato OKUMOTO
August 18, 2023
Programming
0
520
Angular x Auth0 複数サービス展開での認証基盤を考える
Startup Angular #6での発表資料です。
https://voicy.connpass.com/event/289575/
Hayato OKUMOTO
August 18, 2023
Tweet
Share
More Decks by Hayato OKUMOTO
See All by Hayato OKUMOTO
推し活の ハイトラフィックに立ち向かう Railsとアーキテクチャ - Kaigi on Rails 2024
falcon8823
7
4.8k
Angular Schematicsを利用した アプリ量産体制
falcon8823
0
110
iOSとIonicとHEIF画像
falcon8823
0
340
Ionicアプリのビルド自動化
falcon8823
0
27
Firebase Authentication - Ionic Meetup #12 Tokyo
falcon8823
0
270
IonicアプリをAuth0で認証する - Ionic Meetup #16 in Online
falcon8823
0
390
Other Decks in Programming
See All in Programming
Ça bouge du côté des animations CSS !
goetter
2
150
AIプログラミング雑キャッチアップ
yuheinakasaka
17
4.2k
Honoとフロントエンドの 型安全性について
yodaka
7
1.4k
メンテが命: PHPフレームワークのコンテナ化とアップグレード戦略
shunta27
0
300
生成AIで加速するテスト実装 - ロリポップ for Gamersの事例と 生成AIエディタの活用
kinosuke01
0
110
楽しく向き合う例外対応
okutsu
0
590
推しメソッドsource_locationのしくみを探る - はじめてRubyのコードを読んでみた
nobu09
2
240
Datadog Workflow Automation で圧倒的価値提供
showwin
1
160
PHPカンファレンス名古屋2025 タスク分解の試行錯誤〜レビュー負荷を下げるために〜
soichi
1
670
もう少しテストを書きたいんじゃ〜 #phpstudy
o0h
PRO
17
3.9k
機能が複雑化しても 頼りになる FactoryBotの話
tamikof
0
110
Rubyと自由とAIと
yotii23
6
1.7k
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
223
9.4k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
Six Lessons from altMBA
skipperchong
27
3.6k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
570
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
The Cost Of JavaScript in 2023
addyosmani
47
7.4k
Unsuck your backbone
ammeep
669
57k
Faster Mobile Websites
deanohume
306
31k
It's Worth the Effort
3n
184
28k
Code Reviewing Like a Champion
maltzj
521
39k
Writing Fast Ruby
sferik
628
61k
Transcript
Angular x Auth0 ෳαʔϏεల։Ͱͷೝূج൫Λߟ͑Δ גࣜձࣾTwoGate Ԟຊ ൏
2 ࣗݾհ Ԟຊ൏!GBMDPO@ w גࣜձࣾ5XP(BUFɹڞಉۀऀऔక$50 w 5XP(BUFۀظ͔Βͷٕज़Ϧʔυͱͯ͠ w ࠓͰ w
࠷ۙͷٕज़τϐοΫ w ೝূج൫ "VUI ͦͷଞ σʔλج൫ߏங #JH2VFSZ USPDDP
ࣄۀ༰ ɾΤϯλϝྖҬͷ4BB4։ൃʢϞόΠϧΦʔμʔ͘͡&$ίϛϡχςΟΞϓϦʣ ɾ4IPQJGZͰͷ&$αΠτ։ൃ ɾ###&ྖҬͷڞࣄۀ։ൃ 3 ձࣾ֓ཁ https://twogate.com/ ઃཱ ɾ݄ઃཱʢظʣ ɾνʔϜͱͯ͠
ɾ໊த໊ͷߴઐੜͰۀɹݱࡏɺϑϧλΠϜ໊نʹ
4 5XP(BUFͷٕज़ελοΫ αʔόαΠυ ϑϩϯτΤϯυ ։ൃڥ Πϯϑϥ
5 4IPQJGZ1BSUOFSPGUIF:FBSडاۀ w 4IPQJGZ&DPNNFSDF"XBSE w 4IPQJGZ1BSUOFSPGUIF:FBS ଟͷ࣮Λදজ͞Εɺ4IPQJGZ+BQBOΑΓ̎ͷදজΛड͚͍ͯ·͢ɻ
5XP(BUFͷϓϩμΫτ
7 /PDPEF-PXDPEFιϦϡʔγϣϯ ϞόΠϧΦʔμʔ (ΞϓϦ) ΦϯϥΠϯΨνϟ (Web) ެࣜΞϓϦ (ΞϓϦˍ̬eb) Nocode Low
code
8 ##ڞϓϩμΫτ ళ͚ ίϛϡχέʔγϣϯπʔϧ PCͰͷಇ͖ํ ՄࢹԽπʔϧ
Angular x Auth0 ෳαʔϏεల։Ͱͷೝূج൫Λߟ͑Δ
w αʔϏεͷೝূͲ͏ͯ͠·͔͢ʁ w ΞϓϦʴ8FCఏڙͷೝূͲ͏ͯ͠·͔͢ʁ w #$##ͷαʔϏεఏڙ 10 ຊ
w ࣄۀن͕֦େ͢Δʹ࿈ΕͯɺෳαʔϏεల։αϒαʔϏεͰͷల։Λߟ͑࢝ΊΔɻ w ಉ͡ϢʔβͰͷΫϩεηϧͰͷαʔϏεల։ w ಛʹ࠷ۙͷ##4BB4Ͱͦͷߴ͘ͳΓͭͭ͋Δ 11 ϚϧναʔϏεͷೝূΛߟ͑Δ
w #$αʔϏε w ແྉ͔Β࢝·Δ w Ϣʔβ୯Ձ͍ w ΞΫςΟϒ͍ w Ϣʔβ୯ҐͰͷཧ
w ݸਓใ͕ͳ͚ΕϦεΫ w ##αʔϏε w ༗ྉܖ w Ϣʔβ୯Ձߴ͍ w ΞΫςΟϒߴ͍ w ॴଐ৫Ͱͷू߹ͷཧ w औΓѻ͍ใͷॏཁੑ͕ߴ͍ 12 αʔϏεಛੑͰ࠾༻͖͢ೝূج൫ҟͳΔ αʔϏεಛੑʹԠͨ͡ೝূج൫ͷࢿ͕ඞཁ
w ಠ࣮ࣗ w 'JSFCBTF"VUIFOUJDBUJPO ($1*EFOUJUZ1MBUGPSN w "VUI w "84$PHOJUP
w "[VSF"%#$ 13 ೝূιϦϡʔγϣϯ
w ͍ͬͯΔਓଟ͍ͱࢥ͏ͷͰׂѪ w ϞόΠϧϑΝʔετͳΞϓϦͩͱ࠾༻࣮͕૿͖͑ͯͨҹ w 5(Ͱ͍ۙ0&.ΞϓϦͰ׆༻͍ͯ͠·͢ w ͍ͮΒ͍ͱ͜Ζ w γϯάϧαΠϯΦϯతͳಈ͖αϙʔτ֎ʢΞϓϦϒϥβͰͦΕͧΕηογϣϯΛ࣋ͭ
ͨΊʣ w 0*%$ରԠ 0"VUIϑϩʔରԠ͍ͯ͠ͳ͍ w ΞϓϦ41"ʹద͍ͯ͠Δ͕ඪ४తͳ8FCΞϓϦͷೝূʹ͑ͳ͍ 14 'JSFCBTF"VUIFOUJDBUJPO
w ಛ w ։ൃͷख͕ؒ࠷খݶʹͳΔΑ͏ʹ4%,͕๛ʹఏڙ͞Ε͍ͯΔ w ෳαʔϏεల։ͰͷγϯάϧαΠϯΦϯͷఏڙ w ۚ༥ɾϔϧεέΞྖҬͷೝূʹରԠՄೳ w ʹPLUBʹങऩ͞ΕPLUBͷαʔϏε
$VTUPNFS*EFOUJUZ$MPVE ͱͯ͠ ఏڙ 15 "VUI
w 41"ΞϓϦଆ4%,ΛΈࠐΉ͚ͩͰೝূ࣮͕ऴΘΔʹ!BVUIBVUIBOHVMBS w 6OJWFSTBM-PHJOͱ͍͏ϩάΠϯը໘͕ఏڙ͞ΕΔͨΊ w ؆୯ͳϚΠΫϩαʔϏεతͳ"1*Λͭͬͯ͘ೝূΛߟ͑ͳͯ͘ࡁΉ w .1"ͳΞϓϦέʔγϣϯͰ͋Εɺ"84ͷ"QQMJDBUJPO-PBE#BMBODFSͷೝূʹܨ͙͚ͩͰ࣮ݱͰ͖Δ w ཧը໘ͳͲकΓ͍ͨͱ͜Ζʹ༗ޮ
w ΞϓϦέʔγϣϯʹΈࠐΈͭͭ"-#ͰࣄલೝূΛֻ͚͓ͯ͘ͱ͞ΒʹηΩϡΞʹ w "DUJPOTͰ/PEFKTʹΑΔ"VUIͷೝূڍಈΛ֦ு͢Δ͜ͱՄೳ w ྫ͑*1੍ݶͳͲΛ"DUJPOTͰ࣮Ͱ͖Δ 16 "VUIͷศརͳͱ͜Ζ
17 ๛ͳೝূखஈʹରԠͰ͖Δ ιʔγϟϧϩάΠϯ Google / Apple / LINEͳͲ ΤϯλʔϓϥΠζϩάΠϯ Okta
/ HENGE / Google Workspaces Azure AD / SAML ύεϫʔυϨεϩάΠϯ ϝʔϧϦϯΫ / SMSϫϯλΠϜ / WebAuthn ϝʔϧΞυϨε/PWҎ֎ͷೝূखஈΛΞϓϦέʔγϣϯଆͰߟ͑Δඞཁ͕ͳ͘ͳΔɻ Auth0Ͱઃఆ͢Δ͚ͩ
18 αʔϏεΞʔΩςΫνϟͷྫ ސ٬ ϙʔλϧ αΠτ αʔϏε A αʔϏε B ڞ௨ೝূج൫
ϑϧεΫϥον ϑϧεΫϥον OAuth OAuth SAML w ҟछγεςϜಉ࢜ͷ࿈ܞ w 4".-0"VUI w "VUIͰͷ$PPLJFηογϣϯʹΑ ΓγϯάϧαΠϯΦϯΛ࣮ݱ w αʔϏε͝ͱʹೝূΛٻΊΒΕͳ ͍
w "VUIͷΞΧϯτΛ࡞͠ɺ"QQMJDBUJPOΛ࡞ 19 "OHVMBSʹ"VUIΛಋೖ͢Δखॱ
20 "OHVMBSͷಋೖνϡʔτϦΞϧ
w OQNJOTUBMM!BVUIBVUIBOHVMBS 21 "OHVMBSͰͷηοτΞοϓ
22 ϩάΠϯϘλϯͷ࣮
w "1*ʹΞΫηετʔΫϯΛૹΔʹʁ 23 "1*ͷೝূ w *OUFSDFQUPS͕ଂ͞Ε͍ͯΔͷͰɺ .PEVMFʹઃఆΛ༩͑Δ͚ͩͰΞΫηε τʔΫϯ͕"VUIPSJ[BUJPOϔομʹࣗಈͰ ༩͞Ε·͢ɻ
w ඍົͳͱ͜ΖΛృΓସ͑ͳ͕Β࡞͍ͬͯΔಠࣗೝূͷ࣮͕ϓϩμΫτ͝ͱʹҟͳΔ w ˠͯ͢"VUIͷ࣮ʹू͞Εͨ w &OUFSQSJTFܖΛక݁͠·ͨ͠ w ࠷ऴతʹ͍ΖΜͳೝূखஈͷରԠϢʔβن͕૿Ճͨͨ͠Ί w શϓϩμΫτͷॏཁͳՕॴΛकΔηΩϡϦςΟࢿͱͯ͠
24 ࣾͰಋೖͯ͠Έͯ
w αʔϏεಛੑʹԠͨ͡ඞཁͳೝূج൫Λબ͠·͠ΐ͏ w ෳͷ##αʔϏεల։ʹ"VUIΛ࠾༻͢Δͱ։ൃ͕ϋοϐʔʹͳͬͨ w 4%,͕ରԠ͍ͯ͠ΔݴޠɾϑϨʔϜϫʔΫͰಋೖ͕؆୯ w ҟछγεςϜͰ0*%$4".-ରԠ͍ͯ͠ΔγεςϜͱͷ݁߹༰қ 25 ·ͱΊ