設定
ユーザーがアカウントに登録するRailsアプリケーションがあり、サブドメインが作成されます。その後、サブドメインに進み、資格情報でログインできます。ワークフローは次のようになります。
- ユーザーがベース ドメインにアクセスし、メール/ユーザー名/パスワードおよびサブドメイン フィールドを含むフォームに入力します。
- 送信された情報から、サーバーはグローバル/パブリック データベースにアカウントを作成します。次に、サーバーはその特定のサブドメイン/アカウントに固有のデータベースを作成し、ユーザー レコードをそこに保存します。
- ユーザーはサブドメインにリダイレクトされ、ログインを求められます。
(注: 個別の「データベース」を実装するために、postgres スキーマを使用していますが、それは無関係である必要があります。)
質問
私の質問はステップ 3 に関するものです。ユーザーにログインを求めるのではなく、ユーザーをサブドメインにリダイレクトして自動的にログインさせたいと考えています。しかし、すべてのサブドメインで単一のセッションを共有したくありません。
どうにかして自動ログイン要求を安全に送信したいと考えています。
考えられる解決策
users
Cookie とテーブルに格納する使い捨てのランダム トークンを使用することを検討しました。ユーザーがアカウントを正常に作成すると、サブドメインにリダイレクトされます。その時点で、トークンは消費/破棄され、ユーザーは自動的にログインします。
また、有効期限が切れる前にトークンを使用するための短いウィンドウが必要です。
考え?ありがとう!