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
TypeScriptでAmazon Cognitoのエミュレーターを開発し始めた話
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
caru
June 06, 2024
Programming
630
0
Share
TypeScriptでAmazon Cognitoのエミュレーターを開発し始めた話
TechTalkフェス 登壇資料
caru
June 06, 2024
Other Decks in Programming
See All in Programming
LLM Plugin for Node-REDの利用方法と開発について
404background
0
130
Inspired By RubyKaigi (EN)
atzzcokek
0
260
さぁV100、メモリをお食べ・・・
nilpe
0
100
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
300
AI時代だからこそ「Bloc」を採用する価値があるのかもしれない
takuroabe
0
250
初めてのRubyKaigiはこう見えた
jellyfish700
0
180
GitHub Copilot CLIのいいところ
htkym
2
1.1k
AI駆動開発勉強会 広島支部 第一回勉強会 AI駆動開発概要とワークショップ
hayatoshimiu
0
400
Skillは並べた。動かなかった。契約で繋いだ。— 65個のSkillから、自走する開発サイクルへ
junholee
0
770
権限チェックの一貫性を型で守る TypeScript による多層防御
mnch
4
900
Technical Debt: Understanding it Rightly, Engaging it Rightly #LaravelLiveJP
shogogg
0
160
New "Type" system on PicoRuby
pocke
1
280
Featured
See All Featured
Information Architects: The Missing Link in Design Systems
soysaucechin
0
940
KATA
mclloyd
PRO
35
15k
What's in a price? How to price your products and services
michaelherold
247
13k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
170
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1.1k
Designing for humans not robots
tammielis
254
26k
WENDY [Excerpt]
tessaabrams
11
38k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
Faster Mobile Websites
deanohume
310
31k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
120
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
150
Transcript
TypeScriptでAmazon Cognitoの エミュレータを開発し始めた話 Caru (かる)
2 先輩 今日 00:00 OSS開発をやってみませんか? ※ イメージ
3 © 2009 サマーウォーズ 制作委員会
出てきた課題 4 既存のOSSを使えば良いのでは...? LocalStack × Amplify UIとDockerの相性問題 × データの永続化が困難 MotoServer
× Cognito機能が有料(AWSは基本無料)
Magnitoについて 5 frourio Inbucket 認証メール(SMTP) /Client ユーザー管理 /Server 互換API Docker
Image Magnito (npm package) 届いたメールはlocalhostから確認可能 フロントからバックエンドまで TypeScriptで開発 認証エンドポイントの切り替えだけ で使用可能
自己紹介 6 Caru (かる) 2005年生まれ (18歳) 大学生 (東洋大学 情報連携学部) INIAD.ts所属
最近触っている技術: Cloudflare Workers Magnitoでの担当: パスワード認証の実装 caru caru-ini
デモ 7 • サイトはNext.js + Amplify UIで作られています • 認証のエンドポイントをlocalhostに切り替えてあります •
他に特別なことはしていません
8 SRPの仕組み ユーザー登録 ユーザー名 パスワード ケンジ君 クライアント サーバー ユーザー名, ソルト,
検証子 DB OZ 検証子 ソルト (ランダム) © 2009 サマーウォーズ 制作委員会
9 SRPの仕組み ログイン時(Hello) ケンジ君 クライアント サーバー ユーザー名, SRP_A DB OZ
SRP_B SRP_B 生成 ランダム数字 検証子 SRP_A ランダム
10 SRPの仕組み ログイン時(Verify) SRP_A ケンジ君 クライアント サーバー OZ SRP_B SRP_A
SRP_B ユーザー名、パスワード 検証子 証拠 証拠 両者が一致すればログインは成功! 違う計算方法 詳しくは Zennで!
未来 11 • Magnitoは GitHubで公開中 スターよろしくお願いします! frouriojs / magnito •
Cognitoのエミュレータの需要やユースケースについて フィードバックいただけると幸いです!