- React パスキー認証を実装する④ 登録・ログイン画面をつなぐ
ASP.NET CoreのパスキーAPIをReactから呼び出します。WebAuthnのJSON変換、CSRF対策、登録・ログインボタン、失敗時の表示と動作確認を説明します。
- ASP.NET Core パスキー認証を実装する③ ログインAPIを作る
登録済みのパスキーでログインするAPIを作ります。署名の検証、利用者との照合、カウンターの更新、認証Cookieの発行を順に説明します。
- ASP.NET Core パスキー認証を実装する② 登録APIを作る
ログイン済みの利用者にパスキーを登録するAPIを作ります。登録オプションの発行からブラウザーの応答の検証、公開鍵の保存までを説明します。
- ASP.NET Core パスキー認証を実装する① 全体の流れと保存データ
パスキー認証を4回に分けて実装します。初回はRP IDとOrigin、公開鍵の保存、使い捨てのチャレンジ、ASP.NET Coreの共通設定を説明します。
- TypeScript APIの接続先とURLの組み立てを一か所に集める
環境ごとに変わるAPIの接続先を共通関数で扱う方法を紹介します。URLの解決、末尾スラッシュ、別オリジンの扱い、API用と外部リンク用を分ける理由を説明します。
- TypeScript 金額の表示ルールをまとめて画面ごとの差を減らす
Intl.NumberFormatで通貨と言語を指定して金額を表示する方法を紹介します。0と未設定の区別、丸めと計算の違い、表示用の共通関数に含める範囲を説明します。
- React 操作できるかをAPIから返して権限の分岐を減らす
画面にロール名の判定を散らさず、操作可否をAPIから返す設計を紹介します。表示用の判定とサーバーの認可の違い、取得失敗時の扱い、権限変更後の再確認を説明します。
- C# 文字数制限を共有して追加・編集の条件がずれるのを防ぐ
名前の文字数制限を定数として共有し、入力チェックと値の生成で同じ上限を使う方法を紹介します。同じ数値でも共通化しない場合や、空白・Unicodeの数え方も説明します。
- TypeScript Uint8Arrayの必要な範囲だけをArrayBufferへコピーする
Uint8Arrayのbufferをそのまま渡すと余分なデータまで含まれる場合を説明します。subarrayとコピーの違い、範囲を限定する変換関数、元データの変更による影響を具体例で紹介します。
- PostgreSQL 期限切れデータを少しずつ削除する設計
期限切れの一時データを件数で区切って削除する方法を紹介します。基準時刻を固定する理由、バッチ単位のコミット、途中停止と再実行、削除件数だけでは負荷を保証できない点を説明します。