2021/9/15 14:17:00
私署認証Digest認証CryptoPassport.jsのLocalStrategyで利用者名と暗証語を認証するコード『【プログラマ英語】それ認証って意味じゃないですよ(厳密には)』JWT認証『非技術者のためのOAuth認証(?)とOpenIDの違い入門』Basic認証LocalStrategyNext.jsとAmplifyでcognitoの認証を実装認証方式Authentication→パスワードとか使って認証するやつあれ『passportを利用した認証を実装しよう』Passport.js『単なる OAuth 2.0 を認証に使うと、車が通れるほどのどでかいセキュリティー・ホールができる』
あれ
2022/11/24 23:42:00
手書き共有ウェブアプリ EGAKU(仮)の要件を考えている。
成功基準が機能一覧になってんのが気に食わないな。事業としての成功基準を書いた方が良さげ。意識が作る側である下請けに引っ張られてる。下請け根性。
成功基準に欲が出てきた。
邪悪な仕様が生えてきた
画面下部にバナー広告を入れること
手書き時の誤タッチによる収益増加目指す
ちょっと緩和させる。主要な利用者が俺なので、俺が使うときに切れるようだったら下部バナーやめとく。
画面下部にバナー広告を入れること
手書き時の誤タッチによる収益増加目指す
あまりに邪悪な場合は画面上部とする
利用者登録・管理が可能なこと
さらっと書いたけど、一等めんどくさいぞ
利用者登録・管理が可能なこと
利用者が過去に手書きした画像を一覧で表示できること
利用者が過去に手書きした画像を後から追記して手書きできること
作るのがめんどくさい。なんとかしてこういう仕様を迂回したい。
認証の作成を回避する仕様がなくはないけど、使いづらくなるな。あきらめて認証周りを作るか。
認証作るのめんどちっちだから、Amazon Cognito使っちゃおうかしら。
50,000 アクティブユーザー/月が無料
foooへいへーい。
50,000 アクティブユーザー/月って、趣味プロダクトでこれだけいけたら大大大成功の部類では。
Crypto
2022/4/20 16:24:00
暗証語ハッシュ化『Username & Password Tutorial: Verify Password』LocalStrategycrypto.pbkdf2コールバック関数sha256crypto.timingSafeEqual認証利用者名Passport.js
Passport.jsのLocalStrategyで利用者名と暗証語を認証するコード
2022/4/20 17:32:00
passport.use(new LocalStrategy(function verify(username, password, cb) {
db.get('SELECT rowid AS id, * FROM users WHERE username = ?', [ username ], function(err, row) {
if (err) { return cb(err); }
if (!row) { return cb(null, false, { message: 'Incorrect username or password.' }); }
crypto.pbkdf2(password, row.salt, 310000, 32, 'sha256', function(err, hashedPassword) {
if (err) { return cb(err); }
if (!crypto.timingSafeEqual(row.hashed_password, hashedPassword)) {
return cb(null, false, { message: 'Incorrect username or password.' });
}
return cb(null, row);
});
});
}));
『Username & Password Tutorial: Verify Password』より
何をしているコードか
- dbから与えられた利用者名と一致する利用者情報(利用者名, ハッシュ化された暗証語)を取り出す。
- 与えられた暗証語を
crypto.pbkdf2
でsha256にハッシュ化する。 crypto.timingSafeEqual
で1.と2.で得られたハッシュ化された暗証語を比較し、一致していれば利用者情報をcallback関数(cb)で返す
Passport.js
2022/4/20 16:02:00
Passport is authentication middleware for Node.js
PassportはNode.js用の認証ミドルウェア
『【プログラマ英語】それ認証って意味じゃないですよ(厳密には)』
2022/4/24 19:36:00
LocalStrategy
2022/4/20 16:06:00
Authentication→パスワードとか使って認証するやつ
2022/4/24 19:36:00
『単なる OAuth 2.0 を認証に使うと、車が通れるほどのどでかいセキュリティー・ホールができる』
2022/4/19 17:41:00
Next.jsとAmplifyでcognitoの認証を実装
2022/11/30 11:11:00