ひたすら匿名で投稿するだけだったハリボテメモ帳に、サインイン機能を追加しました。
認証はメールアドレスのみで行うシンプルなもので、ユーザー登録を行う必要もありません。

メールアドレスを送信すると、以下のようなサインイン用のメールが送られて来ます。

メールに書かれたURLを開くとサインイン完了です。

アカウントのアイコンやユーザー名は Gravatar のものを利用しています。
サインインせずに匿名(Anonymous)のままでも書き込みを行うことが出来ますが、サインインの際に「Save the anonymous cotos (posts) into your account」のチェックボックスを ON にしておくと、匿名で投稿した内容を自分のアカウントに移すことが出来ます。
まだまだハリボテの段階を脱していませんが、これで「PCで書いたメモをスマホで見る」といったような当たり前の使い方が出来るようになりました。
Cotoami https://cotoa.me/
ソースコードはこちら: https://github.com/cotoami/cotoami/tree/signin
☞ Cotoami成長記録 (3) – コトとコトノマ
(舞台裏)ローカル Cotoami を一瞬で作る魔法のコマンド
現段階でのシステム構成は以下のような感じになっています。

アカウントごとの投稿内容(Cotoamiでは「コト(Coto)」と呼んでます)を保存するためのデータベース(PostgreSQL)や、サインインメールを送信するためのメールサーバーなどが新しい登場人物です。
既にそこそこ複雑なシステムになってきていますが、minikube というサーバーの箱庭環境があれば、驚くほど簡単にローカル Cotoami システムを構築することができます。
minikube のインストールについては以下の記事を参考にしてみて下さい。
kubectl cluster-info
で準備が出来ていることを完了したら、以下のコマンドを実行するだけでシステムが出来上がります。
# 魔法のコマンド
$ kubectl create -f https://raw.githubusercontent.com/cotoami/cotoami-infra/signin/kubernetes/all-in-one.yaml
kubectl get pods
コマンドで全てのサーバーが「Running」になったら準備完了。
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
cotoami-3593364574-ji2wy 1/1 Running 1 15m
maildev-2318592657-ag3ib 1/1 Running 0 15m
postgres-4226949952-8dk6q 1/1 Running 0 15m
redis-master-517881005-pqvud 1/1 Running 0 15m
WebアプリのURLを知るためには、以下のコマンドを実行します。
$ minikube service cotoami --url
http://192.168.99.101:31923
出力されたURLをブラウザで開くと、Cotoami の画面が表示されるはずです。
サインインメールは maildev というダミーのメールサーバーが受け取るようになっています。以下のコマンドで maildev の URL を取得して、
$ minikube service maildev --url
http://192.168.99.101:32261
http://192.168.99.101:30914
出力された二つの URL の内、上の URL をブラウザで開くと、

こんな感じで送信されたサインインメールを見ることができます。サインイン URL の先頭が http://cotoami
となっているのを、minikube service cotoami --url
で出力された URL に置き換えてブラウザで開くと、サインイン完了です。