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
390
TypeScriptでAmazon Cognitoのエミュレーターを開発し始めた話
TechTalkフェス 登壇資料
caru
June 06, 2024
Tweet
Share
Other Decks in Programming
See All in Programming
ドメインモデリングにおける抽象の役割、tagless-finalによるDSL構築、そして型安全な最適化
knih
3
720
機械学習って何? 5分で解説頑張ってみる
kuroneko2828
0
180
"使いづらい" をリバースエンジニアリングする UI の読み解き方
rebase_engineering
0
130
TypeScriptのmoduleオプションを改めて整理する
bicstone
4
460
2度もゼロから書き直して、やっとブラウザでぬるぬる動くAIに辿り着いた話
tomoino
0
130
型付きアクターモデルがもたらす分散シミュレーションの未来
piyo7
0
170
Webからモバイルへ Vue.js × Capacitor 活用事例
naokihaba
0
130
Rails産でないDBを Railsに引っ越すHACK - Omotesando.rb #110
lnit
1
150
Prism.parseで 300本以上あるエンドポイントに 接続できる権限の一覧表を作ってみた
hatsu38
1
100
Development of an App for Intuitive AI Learning - Blockly Summit 2025
teba_eleven
0
100
Spring gRPC で始める gRPC 入門 / Introduction to gRPC with Spring gRPC
mackey0225
2
430
単体テストの始め方/作り方
toms74209200
0
350
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
15
900
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The Pragmatic Product Professional
lauravandoore
35
6.7k
For a Future-Friendly Web
brad_frost
178
9.8k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
470
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Being A Developer After 40
akosma
90
590k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
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のエミュレータの需要やユースケースについて フィードバックいただけると幸いです!