从旧站点登录到 Laravel 站点
Posted
技术标签:
【中文标题】从旧站点登录到 Laravel 站点【英文标题】:Login pass through from legacy sites to Laravel site 【发布时间】:2018-04-16 18:53:29 【问题描述】:我有很多主要用 CodeIgniter 编写的遗留网站。我应该能够向那些说他们可以访问一个新的 Laravel 网站的网站发布一些东西。
我的计划是在 Laravel 网站上为每个旧网站创建一个帐户。任何可以登录旧站点的人都可以单击链接进行导航并使用关联的帐户登录 Laravel 站点。
处理此问题的最佳方法是什么?我正在考虑在 Laravel 站点中创建一个加密字符串并将其存储在旧站点的配置中。然后,旧站点会将其传回 Laravel 站点并被解密。这会安全吗?两端应该有某种加密/解密吗?
【问题讨论】:
如果 codeigniter 站点使用 bcrypt 对密码进行哈希处理,您可以将其帐户连同哈希一起复制,Laravel 的Auth
应该可以工作。
他们不使用 bcrypt,我不希望 Laravel 站点中的站点的每个帐户。本质上,CodeIgniter 站点上的任何帐户都将传递到 Laravel 站点上该站点的全局帐户。
【参考方案1】:
将永久登录链接存储在旧站点或任何站点中并不是最好的主意。更安全的方法是在 Laravel 站点上设置一个经过身份验证的 API 端点,当用户单击旧站点上的链接时获取用户的信息,然后创建他们的帐户并通过电子邮件发送确认作为第二步。流程看起来像这样:
-
用户点击旧网站上的链接
旧版站点使用旧版用户的信息(电子邮件、用户名等)向 Laravel API 端点发出经过身份验证的请求
Laravel 通过电子邮件向用户发送一个链接,该链接将在 x 时间内过期以完成注册过程
用户点击指向您的新 Laravel 站点的链接,在那里他们添加密码和帐户详细信息,然后确认他们的帐户创建。
一个不错的附加功能是然后更新您的旧网站,以说明用户已在新网站中创建了他们的帐户。这样,如果用户登录到旧站点,您可以提醒他们新版本可以使用,或者只是强制重定向。
【讨论】:
Laravel 站点本质上将充当旧站点的插件。如果站点决定他们想要访问 Laravel 站点,我将手动去在 Laravel 站点上创建一个链接到旧站点的帐户。这样,旧站点上的任何用户都可以使用旧站点上的链接访问 Laravel 站点。以上是关于从旧站点登录到 Laravel 站点的主要内容,如果未能解决你的问题,请参考以下文章