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
caru
June 06, 2024
Programming
0
400
TypeScriptでAmazon Cognitoのエミュレーターを開発し始めた話
TechTalkフェス 登壇資料
caru
June 06, 2024
Tweet
Share
Other Decks in Programming
See All in Programming
『自分のデータだけ見せたい!』を叶える──Laravel × Casbin で複雑権限をスッキリ解きほぐす 25 分
akitotsukahara
2
640
スタートアップの急成長を支えるプラットフォームエンジニアリングと組織戦略
sutochin26
1
6k
型で語るカタ
irof
0
130
AI時代の『改訂新版 良いコード/悪いコードで学ぶ設計入門』 / ai-good-code-bad-code
minodriven
19
7.5k
High-Level Programming Languages in AI Era -Human Thought and Mind-
hayat01sh1da
PRO
0
780
AI コーディングエージェントの時代へ:JetBrains が描く開発の未来
masaruhr
1
180
dbt民主化とLLMによる開発ブースト ~ AI Readyな分析サイクルを目指して ~
yoshyum
3
1k
A full stack side project webapp all in Kotlin (KotlinConf 2025)
dankim
0
120
RailsGirls IZUMO スポンサーLT
16bitidol
0
190
10 Costly Database Performance Mistakes (And How To Fix Them)
andyatkinson
0
400
Python型ヒント完全ガイド 初心者でも分かる、現代的で実践的な使い方
mickey_kubo
1
130
GPUを計算資源として使おう!
primenumber
1
120
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.4k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Designing Experiences People Love
moore
142
24k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
GraphQLとの向き合い方2022年版
quramy
49
14k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
Navigating Team Friction
lara
187
15k
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のエミュレータの需要やユースケースについて フィードバックいただけると幸いです!