小学生でもわかる AI図鑑
速報
  1. ホーム
  2. 小学生でもわかるConvex
  3. 第6話

Convex 第6話

【小学生でもわかる】Convexにログインを付ける!画面で隠すだけでは守れない理由と、方法の選び方

ログインした人にだけ見せたいページを作り、ログインしていない人には、一覧もボタンも出ないようにした。これで守れた、と思っていないでしょうか。自分で書いたアプリでも、AIに書かせたアプリでも、画面で隠しただけのデータは、画面を通さずに読めることがあります。Convex の公式のひな形でログインを動かします。

  • ログインの機能は、無料(Free)で使える。今日使う Convex Auth は beta。手元だけの置き場で動かしているあいだは、プランの量は減らない。クラウドの置き場につなぐと、データの容量と関数の呼び出しを少し使う。外のサービスの料金は、各社が決めている
Xで記事を読む シェア
ログインを付けるのカバー

どんな話?

練習用の新しいフォルダに公式のひな形を取り、Windows の2か所(package.json の dev の行と、空ぶりした準備のコマンド)を直して、Convex Auth(beta)のメールアドレスとパスワードでログインを動かしました。ログインなしのまま外から命令を呼ぶと、数字が読めて書けます。命令の先頭に5行足すと Not authenticated で断られました。auth.config.ts のつまずき、方法の選び方、人に使ってもらう前に足りないものも確かめています。

この記事でわかること

  • ログインの機能は Free でも使える。用意は2通りで、純正の部品 Convex Auth(beta)を自分の置き場の中で動かすか、Clerk のような外のサービスに任せるか
  • 「npm create convex@latest」の3つ目の質問は、最初の印が AuthKit。下向きの矢印キーを2回押して、Convex Auth に合わせてから Enter
  • 制作の Windows では準備のコマンドが何も言わずに空ぶりし、登録を押すと「Missing environment variable `JWT_PRIVATE_KEY`」。「npx @convex-dev/auth --skip-git-check」を自分で1回流すと、JWKS・JWT_PRIVATE_KEY・SITE_URL の3つが入った
  • ログインなしで外から呼ぶと、42 と 7 を書けて、viewer が null のまま読めた。命令の先頭に5行足すと「Not authenticated」で断られた
  • 5行が見ているのは、ログインしているかどうかだけ。確認は公開の命令の1つずつに要り、「だれか」は命令の引数で受けとらない
  • auth.config.ts が無いときも、applicationID を1文字まちがえたときも、エラーなしで入れなかった。見る所は、管理画面の Settings の中の Authentication

やることチェックリスト

0/6

記事を読みながら、できたものにチェックを付けていけます。チェックはこの端末に残ります。

くわしい手順と画面の図は、Xの記事にあります。

こんな人に

  • ログインしていない人に一覧もボタンも出ないようにして、これで守れたと思っている人
  • 自分で書いたアプリやAIに書かせたアプリのデータが、画面を通さずに読めないか確かめたい人
  • Convex Auth にするか、外のサービス(Clerk・WorkOS AuthKit・Auth0)に任せるかを決めたい人

この話のTIPS

  • 注意公開の命令は、悪意のある人をふくめて、だれでも呼べる。ログインした人だけに使わせたい命令は、その全部で、ログインしているかを命令の中で確かめること。
  • コツbeta という印の意味を、公式の説明書は決めています。まだ開発の途中の機能であること。本番でも使えること。ただし、書き方があとで変わることがあり、新しい版に上げるときに手間がかかるかもしれないこと。「使うな」ではなく、「あとで書き直しが要るかもしれない」です。
すべてのTIPS