2025-05-03
ユーザーを識別したいウェブアプリ、IDパスワードを使わない、公開鍵暗号を使った簡易認証ライブラリ「PubkeyUser」を作りました。Denoでサクッとバックエンド付きウェブアプリを試作しましょう!


「code4fukui/PubkeyUser」

公開鍵暗号を使った電子署名、検証ライブラリ「sec.js」を使って、localStorageに格納する秘密鍵を使って日付を署名する簡易版。過信は禁物です。


ユーザー毎(正確にはブラウザのプロファイル毎)にアクセス回数をカウントするサンプルアプリです。

サーバー(バックエンド)のコードは、14行 import { makeFetch } from "https://code4fukui.github.io/PubkeyUser/serverutil.js"; const users = {}; const api = async (path, param, pubkey) => { if (path == "inc") { if (!pubkey) return { pubkey: "null", count: "-" }; if (!users[pubkey]) users[pubkey] = 0; const cnt = ++users[pubkey]; return { pubkey, count: cnt }; } }; export default { fetch: makeFetch(api) }; クライアント(フロントエンド)のコードは、15行 pubkey: <span id=span_pubkey></span><br> count: <span id=span_count></span><br> <script type="module"> import { PubkeyUser } from "https://code4fukui.github.io/PubkeyUser/PubkeyUser.js"; const u = new PubkeyUser(); const param = {}; const res = await u.fetch("inc", param); console.log(res) span_pubkey.textContent = res.pubkey; span_count.textContent = res.count; </script> サーバーにAPI名とパラメータオブジェクトを渡し、返って来るオブジェクトを使います。バイナリ対応のJSONの上位互換、CBORを裏側で使っているので、バイナリデータ付きのオブジェクトもそのまま送受信できます。


「code4fukui/pubkeyuser_template」

こちら、試作用のテンプレートリポジトリを、forkしてレッツプロトタイピング!


鯖江市、西山公園はつつじまつり!


西山公園入口に、ことひろPRブース!実際に使ってくれる人の反応、大事!


SABAE STARTUP PROJECT2025年、採択チームのひとつ、意思決定補助サービス「ことひろ」


ことひろ登録でオリジナルキーホルダーもらえる!


レーザー彫刻機、活躍!


たんなんFMの公開生放送!


かわいい顔出しパネルも!


レッサーパンダもいます(本物も!)


新スポットができてました!


「さばえつつじまつりのチラシ」


「【第64回】さばえつつじまつり 2025」

駐車場リアルタイムオープンデータによると、最寄りの駐車場は早々に満車。鯖江市役所やシャトルバスが出ているサンドーム福井の駐車場も使えます。

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS