
ANYUR

概要
一番新しいプロジェクト。
複数アカウント同時サインインができる。
Stripeを使ったサブスクプランに加入できる。
他のサービス(現状ではBeAlive.と得句巣のみ)にパスワードレスサインイン(OAuthを利用したSSO)ができる。
現在は以下のサービスにSSOできます。
- Amiverse
- IVECOLOR
- BeAlive.
- 得句巣
リンク
開発時期
2025年4月~/2か月
使用技術
- バックエンド Ruby on Rails
- DB MariaDB
- 決済 Stripe
作成した背景
個人開発したサービスごとにアカウント管理をするのは大変だろうと思い、一つのアカウントを作成するだけで複数のサービスを利用できるようにしたいと思ったのが始まり。
こだわった点
サインイン・サインアップ・お問い合わせなど、フォーム送信時にはCloudflare Turnstileを利用してbot対策を施した。
メールアドレスを変更するにはパスワードが、パスワードを変更するにはメール認証が必須としてセキュリティを高めた。
正しいIDで間違ったパスワードを使いサインインを試行し続けるとロックされる仕組みを実装した。
パスワードを忘れてサインインできなくなっても、再設定メールを送りリセットできるようにした。
Railsのsessionにトークンを配列で記録して複数アカウント同時サインインを実装し、モジュール化してまとめている(モジュール部分のソースコード)。
苦労した点
OAuthの認可・リソースサーバーを完全自作するというのが大変だった(認可とる部分のソースコード, 認可する動画)。
メール認証を必須にしているのでメールサーバーをどうするか悩んだ。このドメインから送信したいが、オンプレ環境ではop25b、SendGridなどは1日100送信まで、などの制約があり、最終的にDKIMを無視し、GmailとCloudflare Email Routingを利用して利用者に送信している(Gmailではスパム判定)。
一時期はVPS上でPostfix+Dovecotの構成で運用していたが無駄な出費と感じ契約を終えた。
今後の展望
今後も個人開発プロダクトが増えていくので相互連携をうまくとれるようにしていく。アイコン・実績機能などを追加予定。





