2017-11-04 3 views
2

主にCodeIgniterで書かれたレガシーサイトがたくさんあります。私は彼らが新しいLaravelサイトにアクセスできると言っているサイトに何かを発行することができました。レガシーサイトからLaravelサイトへのログインパス

私の計画は、各レガシーサイトのLaravelサイトに1つのアカウントを作成することです。レガシーサイトにログインできるユーザーは、リンクをクリックしてナビゲートし、関連付けられたアカウントでLaravelサイトにログインすることができます。

これを処理する最善の方法は何ですか?私はLaravelサイトで作成した暗号化された文字列を作成し、それをレガシーサイトの設定に保存することを考えていました。レガシーサイトはそれをLaravelサイトに戻し、解読されます。これは安全でしょうか?両方の端に何らかの種類の暗号化/復号化があるべきですか?

+0

bcryptをハッシュパスワードに使用したサイトでは、アカウントをハッシュと共にコピーするだけで、Laravelの 'Auth'が動作するはずです。 – devk

+0

彼らはbcryptを使用していないので、私はLaravelサイトのサイトからのすべてのアカウントを望んでいません。基本的に、CodeIgniterサイトのアカウントは、Laravelサイトのそのサイトのグローバルアカウントにパススルーされます。 – Sean

答えて

0

永続的なログインは、従来のサイトまたはそのサイトのいずれのサイトにも保存することをおすすめしません。より安全なアプローチは、Laravelサイトに認証されたAPIエンドポイントを設定して、レガシーサイトのリンクをクリックしたユーザーの情報を取得し、アカウントを作成し、確認を第2ステップとして電子メールで送信することです。流れは次のようになります:

  1. ユーザーがクリックレガシーサイトにリンクして
  2. レガシーサイトがレガシーユーザーの情報(メール、ユーザ名、など)
  3. LaravelとLaravelのAPIエンドポイントへの認証要求を行います登録プロセスを完了するまでにx時間で期限切れになるリンクをユーザーに電子メールで送信します。
  4. ユーザーは新しいLaravelサイトへのリンクをたどり、パスワードとアカウントの詳細を追加してアカウント作成を確認します。

新しい機能を追加すると、レガシーサイトを更新して、ユーザーが新しいサイトで自分のアカウントを作成したと言うことができます。こうすることで、ユーザーがレガシーサイトにログインした場合、新しいバージョンが使用可能であることを知らせるか、強制的にリダイレクトすることができます。

+0

Laravelサイトは基本的に古いサイトのアドオンとして機能します。サイトがLaravelサイトへのアクセスを希望すると判断した場合、私は手動で移動して、Laravelサイトで古いサイトにリンクするアカウントを作成します。これにより、古いサイトのユーザーは、古いサイトのリンクを使用してLaravelサイトにアクセスできます。 – Sean

関連する問題